home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oh!X 2000 Spring
/
Oh!X 2000 Spring Special CD-ROM (Japan) (Part 1).7z
/
Oh!X 2000 Spring Special CD-ROM (Japan) (Part 1).bin
/
F2JW
/
trans
/
dic.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1999-08-28
|
119KB
|
3,775 lines
#include "stdafx.h"
#include <string.h>
#include <ctype.h>
#include "f2j.h"
#include "score.h"
#include "myprot.h"
// 冠詞の辞書
ARTICLE articleTable[] = {
{ "l'", "(その)", FR_PART_ARTICLE_PRONOUN,
FR_ATTRIB_IL_ELLE,
FR_SHORT_NONE
},
{"les", "(それらの)", FR_PART_ARTICLE_PRONOUN,
FR_ATTRIB_ILS,
FR_SHORT_NONE
},
{ "le", "(その)", FR_PART_ARTICLE_PRONOUN,
FR_ATTRIB_IL,
FR_SHORT_NONE
},
{ "la", "(その)", FR_PART_ARTICLE_PRONOUN,
FR_ATTRIB_ELLE,
FR_SHORT_NONE
},
{"une", "(一つの)", FR_PART_ARTICLE_INFINIT,
FR_ATTRIB_ELLE,
FR_SHORT_NONE
},
{"un", "(一つの)", FR_PART_ARTICLE_INFINIT,
FR_ATTRIB_IL,
FR_SHORT_NONE
},
{"des", "(幾つかの)", FR_PART_ARTICLE_INFINIT,
(FR_ATTRIB)(FR_ATTRIB_BOTH_SEX | FR_ATTRIB_PLURAL | FR_ATTRIB_LEVEL3),
FR_SHORT_NONE
},
{"au", "(その)", FR_PART_ARTICLE_DEFINIT,
FR_ATTRIB_ELLE,
FR_SHORT_A
},
{"aux", "(その)", FR_PART_ARTICLE_DEFINIT,
(FR_ATTRIB)(FR_ATTRIB_BOTH_SEX | FR_ATTRIB_PLURAL | FR_ATTRIB_LEVEL3),
FR_SHORT_A
},
{"du", "(その)", FR_PART_ARTICLE_DEFINIT,
FR_ATTRIB_ELLE,
FR_SHORT_DE
},
{"de", "", FR_PART_ARTICLE_PARTIAL,
(FR_ATTRIB)(FR_ATTRIB_BOTH_SEX | FR_ATTRIB_SINGLE | FR_ATTRIB_LEVEL3),
FR_SHORT_NONE
},
{"", "", FR_PART_NONE, FR_ATTRIB_NONE} // End Code
};
// le, laのエリジオン
JP_PRONOUN dic_L[] = {
#if 0
// Il est timide: son fr}re <l'> est moins. 彼は臆病だが、弟もそれ(臆病)だ
// fr}re = Leだが、人とは限らない
JP_PRONOUN( (FR_ATTRIB)(FR_ATTRIB_ILS | FR_ATTRIB_SINGLE), FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"(彼/女)", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_IL_ELLE, JP_PROP_HUMAN, JP_UNIT_HITO
),
#endif
JP_PRONOUN( (FR_ATTRIB)(FR_ATTRIB_ILS | FR_ATTRIB_SINGLE), FR_ATTRIB_NONE,
JP_PROP_THING | JP_PROP_ACTION | JP_PROP_ABSTRACT, JP_PROP_HUMAN,
NULL,
"それ", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_IL_ELLE, JP_PROP_THING, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_MALE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/女/それ)", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_IL, JP_PROP_ALL, JP_UNIT_KO
)
};
JP_PRONOUN dic_Les[] = {
JP_PRONOUN( FR_ATTRIB_ILS, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"(彼/女)ら", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_ILS, JP_PROP_HUMAN, JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ILS, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"それら", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_ILS, JP_PROP_THING, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_MALE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/女/それ)ら", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_ILS, JP_PROP_ALL, JP_UNIT_KO
),
};
JP_PRONOUN dic_Le[] = {
#if 0
// Il est timide: son fr}re <l'> est moins. 彼は臆病だが、弟もそれ(臆病)だ
// fr}re = Leだが、人とは限らない
JP_PRONOUN( FR_ATTRIB_IL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING | JP_PROP_ACTION | JP_PROP_ABSTRACT,
NULL,
"彼", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_IL, JP_PROP_HUMAN, JP_UNIT_HITO
),
#endif
JP_PRONOUN( FR_ATTRIB_IL, FR_ATTRIB_NONE,
JP_PROP_THING | JP_PROP_ACTION | JP_PROP_ABSTRACT, JP_PROP_HUMAN,
NULL,
"それ", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_IL, JP_PROP_THING, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_MALE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/それ)", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_IL, JP_PROP_ALL, JP_UNIT_KO
),
};
JP_PRONOUN dic_La[] = {
JP_PRONOUN( FR_ATTRIB_ELLE, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"彼女", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_ELLE, JP_PROP_HUMAN, JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ELLE, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"それ", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_ELLE, JP_PROP_THING, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_MALE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼女/それ)", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_D,
FR_ATTRIB_ELLE, JP_PROP_ALL, JP_UNIT_KO
),
};
JP_PRONOUN dic_JpPronoun_En[] = {
JP_PRONOUN(
FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"いくらか", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_BOTH,
FR_ATTRIB_ILS, JP_PROP_THING, JP_UNIT_KO
)
};
JP_PRONOUN dic_Je[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"私", JP_EMPHASIS_NONE, FR_PART_NOUN_SUBJECT,
FR_ATTRIB_JE, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
JP_PRONOUN dic_Moi[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"私", JP_EMPHASIS_NONE, FR_PART_NOUN_PERSONAL,
FR_ATTRIB_JE, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
JP_PRONOUN dic_Me[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"私", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_BOTH,
FR_ATTRIB_JE, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
JP_PRONOUN dic_Te[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"君", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_BOTH,
FR_ATTRIB_TU, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
JP_PRONOUN dic_Tu[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"君", JP_EMPHASIS_NONE, FR_PART_NOUN_SUBJECT,
FR_ATTRIB_TU, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
JP_PRONOUN dic_Toi[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"君", JP_EMPHASIS_NONE, FR_PART_NOUN_PERSONAL,
FR_ATTRIB_TU, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
JP_PRONOUN dic_Il[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"彼", JP_EMPHASIS_NONE, FR_PART_NOUN_SUBJECT,
FR_ATTRIB_IL, JP_PROP_HUMAN, JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"それ", JP_EMPHASIS_NONE, FR_PART_NOUN_SUBJECT,
FR_ATTRIB_IL, JP_PROP_THING, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/それ)", JP_EMPHASIS_NONE, FR_PART_NOUN_SUBJECT,
FR_ATTRIB_IL, JP_PROP_ALL, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/それ)", JP_EMPHASIS_NONE, FR_PART_NOUN_IMPERSONAL,
FR_ATTRIB_IL, JP_PROP_ALL, JP_UNIT_KO
),
};
JP_PRONOUN dic_Lui[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/女/それ)", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_PERSONAL | FR_PART_NOUN_OBJECT_I),
FR_ATTRIB_IL_ELLE, JP_PROP_ALL, JP_UNIT_HITO
)
};
JP_PRONOUN dic_Elle[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"彼女", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_PERSONAL),
FR_ATTRIB_ELLE, JP_PROP_HUMAN, JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"それ", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_PERSONAL),
FR_ATTRIB_ELLE, JP_PROP_THING, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼女/それ)", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_PERSONAL),
FR_ATTRIB_ELLE, JP_PROP_ALL, JP_UNIT_KO
)
};
JP_PRONOUN dic_On[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"", JP_EMPHASIS_NONE, FR_PART_NOUN_IMPERSONAL,
FR_ATTRIB_IL_ELLE,JP_PROP_HUMAN, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Nous[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"私達", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_PERSONAL | FR_PART_NOUN_OBJECT_D | FR_PART_NOUN_OBJECT_I),
FR_ATTRIB_NOUS, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
JP_PRONOUN dic_Vous[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"あなた", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_PERSONAL | FR_PART_NOUN_OBJECT_D | FR_PART_NOUN_OBJECT_I),
FR_ATTRIB_VOUS, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
JP_PRONOUN dic_Ils[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"彼ら", JP_EMPHASIS_NONE, FR_PART_NOUN_SUBJECT,
FR_ATTRIB_ILS, JP_PROP_HUMAN, JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"それら", JP_EMPHASIS_NONE, FR_PART_NOUN_SUBJECT,
FR_ATTRIB_ILS, JP_PROP_THING, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/それ)ら", JP_EMPHASIS_NONE, FR_PART_NOUN_SUBJECT,
FR_ATTRIB_ILS, JP_PROP_ALL, JP_UNIT_HITO
)
};
JP_PRONOUN dic_Eux[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"彼", JP_EMPHASIS_NONE, FR_PART_NOUN_PERSONAL,
FR_ATTRIB_ILS, JP_PROP_HUMAN, JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"彼", JP_EMPHASIS_NONE, FR_PART_NOUN_PERSONAL,
FR_ATTRIB_ILS, JP_PROP_THING, JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/それ)", JP_EMPHASIS_NONE, FR_PART_NOUN_PERSONAL,
FR_ATTRIB_ILS, JP_PROP_ALL, JP_UNIT_HITO
),
};
/*
JP_PRONOUN dic_Leur[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
"(彼/女/それ)", // FR_PART_SPECIAL
JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT,
FR_ATTRIB_ILS, JP_PROP_ALL, JP_UNIT_KO
),
*/
JP_PRONOUN dic_Elles[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"彼女ら", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_PERSONAL),
FR_ATTRIB_ELLES,JP_PROP_HUMAN, JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"それら", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_PERSONAL),
FR_ATTRIB_ELLES,JP_PROP_THING, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼女/それ)ら",JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_PERSONAL),
FR_ATTRIB_ELLES,JP_PROP_ALL, JP_UNIT_KO
),
};
JP_PRONOUN dic_Se[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"(彼/女)",JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_RECURSIVE | FR_PART_NOUN_OBJECT_D | FR_PART_NOUN_OBJECT_I),
(FR_ATTRIB)(FR_ATTRIB_IL_ELLE | FR_ATTRIB_PLURAL),
JP_PROP_ALL, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"それ", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_RECURSIVE | FR_PART_NOUN_OBJECT_D | FR_PART_NOUN_OBJECT_I),
(FR_ATTRIB)(FR_ATTRIB_IL_ELLE | FR_ATTRIB_PLURAL),
JP_PROP_ALL, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/女/それ)",JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_RECURSIVE | FR_PART_NOUN_OBJECT_D | FR_PART_NOUN_OBJECT_I),
(FR_ATTRIB)(FR_ATTRIB_IL_ELLE | FR_ATTRIB_PLURAL),
JP_PROP_ALL, JP_UNIT_KO
)
};
static JP_PRONOUN dic_Chacun[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_NONE,
NULL,
"各人", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL,
JP_PROP_HUMAN,
JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"それぞれ", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL,
JP_PROP_ALL,
JP_UNIT_NONE
)
};
static JP_PRONOUN dic_Chacune[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_NONE,
NULL,
"各人", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_ELLE,
JP_PROP_HUMAN,
JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"それぞれ", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_ELLE,
JP_PROP_ALL,
JP_UNIT_NONE
)
};
JP_PRONOUN dic_Autre[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"他の人", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE, JP_PROP_HUMAN, JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"他の事", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE, JP_PROP_THING, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"他の人/事", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE, JP_PROP_ALL, JP_UNIT_KO
)
};
JP_PRONOUN dic_Autres[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"他の人", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_ILS, JP_PROP_HUMAN, JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"他の事", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_ILS, JP_PROP_THING, JP_UNIT_KO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"他の人/事", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_ILS, JP_PROP_ALL, JP_UNIT_KO
)
};
JP_PRONOUN dic_Ce[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
HasQue,
"事", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_IMPERSONAL),
FR_ATTRIB_IL_ELLE, JP_PROP_ALL, JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
HasQui,
"物", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_IMPERSONAL),
FR_ATTRIB_IL_ELLE, JP_PROP_ALL, JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"それ", JP_EMPHASIS_NONE, (FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_IMPERSONAL),
FR_ATTRIB_IL_ELLE, JP_PROP_ALL, JP_UNIT_KO
)
};
JP_PRONOUN dic_Ca[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"それ", JP_EMPHASIS_NONE,
(FR_PART)(FR_PART_NOUN_PERSONAL | FR_PART_NOUN_IMPERSONAL),
(FR_ATTRIB)(FR_ATTRIB_IL_ELLE | FR_ATTRIB_PLURAL),
(JP_PROP)(JP_PROP_THING | JP_PROP_ABSTRACT), JP_UNIT_NONE
),
};
JP_PRONOUN dic_Cela[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"あれ", JP_EMPHASIS_NONE,
(FR_PART)(FR_PART_NOUN_PERSONAL | FR_PART_NOUN_DEMONSTRATIVE),
(FR_ATTRIB)(FR_ATTRIB_IL_ELLE | FR_ATTRIB_PLURAL),
JP_PROP_THING | JP_PROP_ABSTRACT, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Ceci[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"これ", JP_EMPHASIS_NONE,
(FR_PART)(FR_PART_NOUN_PERSONAL | FR_PART_NOUN_DEMONSTRATIVE),
(FR_ATTRIB)(FR_ATTRIB_IL_ELLE | FR_ATTRIB_PLURAL),
(JP_PROP)(JP_PROP_THING | JP_PROP_ABSTRACT), JP_UNIT_NONE
)
};
JP_PRONOUN dic_Celui[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"人", JP_EMPHASIS_NONE, FR_PART_NOUN_DEMONSTRATIVE,
FR_ATTRIB_IL, JP_PROP_ALL, JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"もの", JP_EMPHASIS_NONE, FR_PART_NOUN_DEMONSTRATIVE,
FR_ATTRIB_IL, JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Celle[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"人", JP_EMPHASIS_NONE, FR_PART_NOUN_DEMONSTRATIVE,
FR_ATTRIB_ELLE, JP_PROP_ALL, JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"もの", JP_EMPHASIS_NONE, FR_PART_NOUN_DEMONSTRATIVE,
FR_ATTRIB_ELLE, JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Ceux[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"人", JP_EMPHASIS_NONE, FR_PART_NOUN_DEMONSTRATIVE,
FR_ATTRIB_ELLES,JP_PROP_ALL, JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"もの", JP_EMPHASIS_NONE, FR_PART_NOUN_DEMONSTRATIVE,
FR_ATTRIB_ELLES,JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Celles[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_THING,
NULL,
"それ", JP_EMPHASIS_NONE, FR_PART_NOUN_DEMONSTRATIVE,
FR_ATTRIB_ELLES,JP_PROP_ALL, JP_UNIT_NONE
)
};
static JP_PRONOUN dic_Personne[] = {
// personne de bless{. 怪我をした誰もいない ->怪我をした人は誰もいない
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
IsTokenRootWChild,
"人は誰もいない", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
(JP_PROP)(JP_PROP_HUMAN | JP_PROP_NEGATIVE),
JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
IsTokenRoot,
"誰もいない", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
(JP_PROP)(JP_PROP_HUMAN | JP_PROP_NEGATIVE),
JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"誰", JP_EMPHASIS_MO, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
(JP_PROP)(JP_PROP_HUMAN | JP_PROP_NEGATIVE),
JP_UNIT_HITO
)
};
static JP_PRONOUN dic_Quelqun[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
HasChildAdjective, // 怪我をした誰か -> 怪我をした人
"人", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_HUMAN,
JP_UNIT_HITO
),
// Quelqu'un a frapp{ @ porte. -> <誰かが>ドアをノックした。
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"誰か", JP_EMPHASIS_GA, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_HUMAN,
JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"誰", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_HUMAN,
JP_UNIT_HITO
)
};
static JP_PRONOUN dic_Rien[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
IsTokenRoot,
"何もない", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_THING | JP_PROP_NEGATIVE,
JP_UNIT_HITO
),
// Il n'y a rien d'int{ressant. 面白いものは<なにも>ない
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
HasAdjective,
"ものは何", JP_EMPHASIS_MO, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_THING | JP_PROP_NEGATIVE,
JP_UNIT_HITO
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"何", JP_EMPHASIS_MO, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_THING | JP_PROP_NEGATIVE,
JP_UNIT_NONE
)
};
JP_PRONOUN dic_Dont[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"", JP_EMPHASIS_NONE, FR_PART_RELATIVE_OBJECT_N,
FR_ATTRIB_ALL, JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Miens[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"私のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ILS, JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Mien[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"私のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_IL, JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Miennes[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"私のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ELLES,JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Mienne[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"私のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ELLE, JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Tiens[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"君のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ILS, JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Tien[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"君のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_IL, JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Tiennes[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"君のもの", JP_EMPHASIS_NONE,FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ELLES,JP_PROP_ALL, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Tienne[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"君のもの", JP_EMPHASIS_NONE,FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ELLE, JP_PROP_ALL, JP_UNIT_NONE
)
};
static JP_PRONOUN dic_Meme[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_THING,
NULL,
"同じ人", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_HUMAN,
JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_THING, JP_PROP_HUMAN,
NULL,
"同じ事", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_THING,
JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"同じ事/人", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_THING,
JP_UNIT_NONE
)
};
static JP_PRONOUN dic_Tous[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_HUMAN, JP_PROP_NONE,
NULL,
"全員", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_HUMAN,
JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"全て", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_THING,
JP_UNIT_NONE
)
};
static JP_PRONOUN dic_Tout[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE, // tout le {t{ -> その夏の間じゅう
JP_PROP_ALL, JP_PROP_NONE,
HasChildNounTime,
"の間じゅう", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_THING,
JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE, // tout le pays -> その国の全て
JP_PROP_ALL, JP_PROP_NONE,
HasChildNoun,
"の全て", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_THING,
JP_UNIT_NONE
),
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"全て", JP_EMPHASIS_NONE,
FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_THING,
JP_UNIT_NONE
)
};
JP_PRONOUN dic_Siens[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/女/それ)のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ILS, JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Sien[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/女/それ)のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_IL, JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Siennes[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/女/それ)のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ELLE, JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Sienne[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/女/それ)のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ELLE, JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Notres[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"私達のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ILS, JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Notre[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"貴方(ら)のもの",JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ILS, JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Votre[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"貴方のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ILS, JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Votres[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"貴方(ら)のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_IL_ELLE, JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Leurs[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/女/それ)のもの",JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_IL_ELLE,JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN dic_Leur[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"(彼/女/それ)のもの", JP_EMPHASIS_NONE, FR_PART_NOUN_POSSESIVE,
FR_ATTRIB_ILS, JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN jp_LesUns[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"あるもの", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_ILS, JP_PROP_ALL, JP_UNIT_NONE
)
};
static JP_PRONOUN jp_Aucun[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
IsTokenRoot,
"誰", JP_EMPHASIS_MO, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE,
JP_PROP_HUMAN | JP_PROP_NEGATIVE,
JP_UNIT_HITO
)
};
// 目的語代名詞
PRONOUN objectNounTable[] = {
{ "l'", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_L) }, // le, laのエリジオン
{ "les", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Les) },
{ "le", FR_ATTRIB_IL, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Le) },
{ "la", FR_ATTRIB_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_La) },
{ "en", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_JpPronoun_En) },
{ "nous", FR_ATTRIB_NOUS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Nous) },
{ "vous", FR_ATTRIB_VOUS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Vous) },
{ "se", (FR_ATTRIB)(FR_ATTRIB_SINGLE | FR_ATTRIB_ILS), FR_SHORT_NONE, JPPRONOUN_DIC(dic_Se) },
{ "", FR_ATTRIB_NONE, } // End Code
};
// 代名詞
PRONOUN pronounTable[] = {
{ "je", FR_ATTRIB_JE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Je) },
{ "moi", FR_ATTRIB_JE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Moi) },
{ "me", FR_ATTRIB_JE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Me) },
{ "te", FR_ATTRIB_TU, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Te) }, // t'というエリジオンの可能性はある。(teはtuの前に検証する)
{ "tu", FR_ATTRIB_TU, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Tu) }, // t'というエリジオンはない。
{ "toi", FR_ATTRIB_TU, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Toi) },
{ "il", FR_ATTRIB_IL, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Il) },
{ "lui", FR_ATTRIB_IL, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Lui) },
{ "elle", FR_ATTRIB_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Elle) },
{ "on", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_On) },
{ "nous", FR_ATTRIB_NOUS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Nous) },
{ "vous", FR_ATTRIB_VOUS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Vous) },
{ "ils", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Ils) },
{ "eux", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Eux) },
{ "elles", FR_ATTRIB_ELLES, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Elles) },
{ "se", (FR_ATTRIB)(FR_ATTRIB_IL | FR_ATTRIB_ILS), FR_SHORT_NONE, JPPRONOUN_DIC(dic_Se) },
{ "autre", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Autre) },
{ "autres", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Autres) },
{ "ce", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Ce) },
{ "ca", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Ca) },
{ "chacun", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Chacun) },
{ "chacune",FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Chacune) },
{ "cela", (FR_ATTRIB)(FR_ATTRIB_IL_ELLE | FR_ATTRIB_PLURAL), FR_SHORT_NONE, JPPRONOUN_DIC(dic_Cela) },
{ "ceci", FR_ATTRIB_IL, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Ceci) },
{ "celui", FR_ATTRIB_IL, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Celui) },
{ "celle", FR_ATTRIB_IL, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Celle) },
{ "ceux", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Ceux) },
{ "celles", FR_ATTRIB_ELLES, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Celles) },
{ "personne",FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Personne) },
{ "quelqu'un",FR_ATTRIB_IL_ELLE,FR_SHORT_NONE, JPPRONOUN_DIC(dic_Quelqun) },
{ "rien", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Rien) },
{ "dont", FR_ATTRIB_IL_ELLE, FR_SHORT_DE, JPPRONOUN_DIC(dic_Dont) },
{ "m]me", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Meme) },
{ "miens", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Miens) },
{ "mien", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Mien) },
{ "miennes",FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Miennes) },
{ "mienne", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Mienne) },
{ "tiens", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Tiens) },
{ "tien", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Tien) },
{ "tiennes",FR_ATTRIB_ELLES, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Tiennes) },
{ "tienne", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Tienne) },
{ "tous", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Tous) },
{ "toute", FR_ATTRIB_ELLES, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Tout) },
{ "tout", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Tout) },
{ "toutes", FR_ATTRIB_ELLES, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Tout) },
{ "siens", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Siens) },
{ "sien", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Sien) },
{ "siennes",FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Siennes) },
{ "sienne", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Sienne) },
{ "n`tres", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Notres) },
{ "n`tre", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Notre) },
{ "v`tres", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Votres) },
{ "v`tres", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Votre) },
{ "leurs", FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Leurs) },
{ "leur", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(dic_Leur) },
{ "les uns",FR_ATTRIB_ILS, FR_SHORT_NONE, JPPRONOUN_DIC(jp_LesUns) },
{ "aucun", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(jp_Aucun) },
{ "", FR_ATTRIB_NONE, FR_SHORT_NONE, NULL, 0 } // End Code
};
static JP_PROADJECTIVE proadj_ce[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_DEMONSTRATIVE,
"この", JP_KIND_NONE,
JP_PROP_CONDITION)
};
static JP_PROADJECTIVE proadj_ces[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_DEMONSTRATIVE,
"これらの", JP_KIND_NONE,
JP_PROP_CONDITION)
};
static JP_PROADJECTIVE proadj_mon[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_POSSESIVE,
"私の", JP_KIND_NONE,
JP_PROP_CONDITION)
};
static JP_PROADJECTIVE proadj_ton[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_POSSESIVE,
"君の", JP_KIND_NONE,
JP_PROP_CONDITION)
};
static JP_PROADJECTIVE proadj_son[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_POSSESIVE,
"(彼/女/それ)の", JP_KIND_NONE,
JP_PROP_CONDITION)
};
static JP_PROADJECTIVE proadj_notre[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_POSSESIVE,
"私達の", JP_KIND_NONE,
JP_PROP_CONDITION)
};
static JP_PROADJECTIVE proadj_votre[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_POSSESIVE,
"貴方達の", JP_KIND_NONE,
JP_PROP_CONDITION)
};
static JP_PROADJECTIVE proadj_leur[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_POSSESIVE,
"(彼/女/それ)らの", JP_KIND_NONE,
JP_PROP_CONDITION)
};
static JP_PROADJECTIVE proadj_tout[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_DEMONSTRATIVE,
"どの", JP_KIND_NONE,
JP_PROP_CONDITION)
};
static JP_PROADJECTIVE proadj_ci[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_DEMONSTRATIVE,
"これらの", JP_KIND_NONE,
JP_PROP_CONDITION,
JP_PROP_ALL, IsTokenPlural,
FR_PART_NONE, JP_PROP_ALL,
FR_LOCATION_BEHIND),
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_DEMONSTRATIVE,
"この", JP_KIND_NONE,
JP_PROP_CONDITION,
JP_PROP_ALL, FR_PART_NONE, JP_PROP_ALL,
FR_LOCATION_BEHIND)
};
static JP_PROADJECTIVE proadj_aucun[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_DEMONSTRATIVE,
"どの", JP_KIND_NONE,
JP_PROP_NEGATIVE2,
JP_PROP_ALL,
FR_PART_NONE, JP_PROP_ALL,
FR_LOCATION_FRONT,
JP_EMPHASIS_MO),
};
static JP_PROADJECTIVE proadj_null[] = {
JP_PROADJECTIVE(
FR_PART_ADJECTIVE_DEMONSTRATIVE,
"何の", JP_KIND_NONE,
JP_PROP_NEGATIVE2,
JP_PROP_ALL,
FR_PART_NONE, JP_PROP_ALL,
FR_LOCATION_FRONT,
JP_EMPHASIS_MO),
};
// 品質形容詞以外の形容詞
PROADJECTIVE proadjectiveTable[] = {
{ "cette", FR_ATTRIB_ELLE, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_ce) },
{ "cet", FR_ATTRIB_ELLE, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_ce) },
{ "ces", FR_ATTRIB_ILS, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_ces) },
{ "ce", FR_ATTRIB_IL, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_ce) },
{ "mon", FR_ATTRIB_IL, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_mon) },
{ "ma", FR_ATTRIB_ELLE, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_mon) },
{ "mes", FR_ATTRIB_ILS, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_mon) },
{ "ton", FR_ATTRIB_IL, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_ton) },
{ "ta", FR_ATTRIB_ELLE, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_ton) },
{ "tes", FR_ATTRIB_ILS, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_ton) },
{ "son", FR_ATTRIB_IL, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_son) },
{ "sa", FR_ATTRIB_ELLE, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_son) },
{ "ses", FR_ATTRIB_ILS, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_son) },
{ "tous", FR_ATTRIB_ELLES, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_tout) },
{ "toute", FR_ATTRIB_ELLE, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_tout) },
{ "tout", FR_ATTRIB_IL, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_tout) },
{ "toutes", FR_ATTRIB_ELLES, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_tout) },
{ "notre", FR_ATTRIB_IL_ELLE, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_notre) },
{ "nos", FR_ATTRIB_ILS, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_notre) },
{ "votre", FR_ATTRIB_IL_ELLE, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_votre) },
{ "vos", FR_ATTRIB_ILS, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_votre) },
{ "leur", FR_ATTRIB_IL_ELLE, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_leur) },
{ "leurs", FR_ATTRIB_IL, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_leur) },
{ "ci", FR_ATTRIB_ALL, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_ci) },
{ "l@", FR_ATTRIB_ALL, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_ci) },
{ "aucun", FR_ATTRIB_ILS, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_aucun) },
{ "aucune", FR_ATTRIB_ELLES, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_aucun) },
{ "nul", FR_ATTRIB_ILS, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_null) },
{ "nulle", FR_ATTRIB_ELLES, FR_CHANGE_NONE, JPPROADJ_DIC(proadj_null) },
{ "", FR_ATTRIB_NONE, FR_CHANGE_NONE, NULL } // End Code
};
JP_PROADVERB proadvAssez[] = {
JP_PROADVERB("十分に", JP_KIND_NONE, JP_PROP_VOLUME, CMP_TOKEN( FR_PART_VERB_ALL))
};
// bien,行,上手に,,,否,あまり,否,,状,とても,量,,,よく
JP_PROADVERB proadvBien[] = {
JP_PROADVERB("すっかり",JP_KIND_NONE, JP_PROP_CONDITION, "changer"),
JP_PROADVERB("よく", JP_KIND_NONE, JP_PROP_CONDITION, "entendre"),
JP_PROADVERB("よく", JP_KIND_NONE, JP_PROP_CONDITION, "supporter"),
JP_PROADVERB("上手に", JP_KIND_NONE, JP_PROP_CONDITION, JP_PROP_ACTION),
JP_PROADVERB("あまり", JP_KIND_NONE, JP_PROP_CONDITION, JP_PROP_NEGATIVE),
// とてもとても (tr}s bien) -> "とても"にするため、JP_PROP_VOLUME
JP_PROADVERB("とても", JP_KIND_NONE, JP_PROP_VOLUME, JP_PROP_ALL), // CONDITION),
JP_PROADVERB("とても", JP_KIND_NONE, JP_PROP_VOLUME, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_ADVERB_ALL), JP_PROP_ALL),
};
JP_PROADVERB proadvFois[] = {
JP_PROADVERB( "倍", JP_KIND_NONE, JP_PROP_VOLUME, JP_PROP_ALL)
};
JP_PROADVERB proadvTres[] = {
// tr}s bien とてもとても -> とれも
JP_PROADVERB("", JP_KIND_NONE, JP_PROP_VOLUME, FR_PART_ADVERB_ALL, JP_PROP_VOLUME, NULL, "bien"),
JP_PROADVERB("とても", JP_KIND_NONE, JP_PROP_VOLUME, FR_PART_ADJECTIVE_ALL, JP_PROP_ALL),
JP_PROADVERB("とても", JP_KIND_NONE, JP_PROP_VOLUME, FR_PART_ADVERB_ADVERB, JP_PROP_ALL),
JP_PROADVERB("とても", JP_KIND_NONE, JP_PROP_VOLUME, FR_PART_ADVERB_GENERAL, JP_PROP_ALL)
};
JP_PROADVERB proadvPas[] = {
// je ne suis <pas> Japonais.
JP_PROADVERB("", JP_KIND_NONE, JP_PROP_NEGATIVE, FR_PART_VERB_ALL, JP_PROP_NEGATIVE, NULL, NULL, DisableChildPrtControl),
};
JP_PROADVERB proadvPlus[] = {
JP_PROADVERB("以上", JP_KIND_NONE, JP_PROP_VOLUME, JP_PROP_UNIT),
JP_PROADVERB("より", JP_KIND_NONE, JP_PROP_VOLUME, JP_PROP_ALL)
};
JP_PROADVERB proadvPresque[] = {
JP_PROADVERB( "ほとんど", JP_KIND_NONE, JP_PROP_VOLUME, JP_PROP_ALL)
};
JP_PROADVERB proadvMoins[] = {
JP_PROADVERB("より低度に",JP_KIND_NONE, JP_PROP_VOLUME, JP_PROP_ALL)
};
JP_PROADVERB proadvTous[] = {
JP_PROADVERB("", JP_KIND_NONE, JP_PROP_VOLUME, JP_PROP_ALL)
};
JP_PROADVERB proadvComme[] = {
JP_PROADVERB("なんて", JP_KIND_NONE, JP_PROP_VOLUME, FR_PART_SENTENCE_ALL, JP_PROP_ALL, NULL, NULL,
DemphasisParentSubject_GA)
};
JP_PROADVERB proadvY[] = {
JP_PROADVERB("そこ", JP_KIND_KEIYODOSHI, JP_PROP_PLACE, JP_PROP_ALL)
};
PROADVERB proadverbTable[] = {
{ "assez", FR_PART_ADVERB_ADVERB, FR_ATTRIB_NONE, JPPROADVERB_DIC(proadvAssez) },
{ "bien", FR_PART_ADVERB_ADVERB, FR_ATTRIB_NONE, JPPROADVERB_DIC(proadvBien) },
// Il est six fois plus grand.
{ "fois", FR_PART_ADVERB_ADVERB, FR_ATTRIB_NONE, JPPROADVERB_DIC(proadvFois) },
{ "tr}s", FR_PART_ADVERB_ADVERB, FR_ATTRIB_NONE, JPPROADVERB_DIC(proadvTres) },
{ "pas", FR_PART_ADVERB_PAS, FR_ATTRIB_NONE, JPPROADVERB_DIC(proadvPas) },
{ "plus", FR_PART_ADVERB_PLUS, FR_ATTRIB_PLUS, JPPROADVERB_DIC(proadvPlus) },
{ "presque", FR_PART_ADVERB_ADVERB, FR_ATTRIB_NONE, JPPROADVERB_DIC(proadvPresque) },
{ "moins", FR_PART_ADVERB_PLUS, FR_ATTRIB_PLUS, JPPROADVERB_DIC(proadvMoins) },
{ "tous", FR_PART_ADVERB_TOUT, FR_ATTRIB_ELLE, JPPROADVERB_DIC(proadvTous) },
{ "toute", FR_PART_ADVERB_TOUT, FR_ATTRIB_ELLE, JPPROADVERB_DIC(proadvTous) },
{ "toutes", FR_PART_ADVERB_TOUT, FR_ATTRIB_ELLES,JPPROADVERB_DIC(proadvTous) },
{ "tout", FR_PART_ADVERB_TOUT, FR_ATTRIB_IL, JPPROADVERB_DIC(proadvTous) },
{ "tous", FR_PART_ADVERB_TOUT, FR_ATTRIB_ELLE, JPPROADVERB_DIC(proadvTous) },
{ "comme", FR_PART_ADVERB_EXCLAMINATION,
FR_ATTRIB_NONE, JPPROADVERB_DIC(proadvComme) },
{ "y", FR_PART_ADVERB_Y, FR_ATTRIB_NONE, JPPROADVERB_DIC(proadvY) },
{ "", FR_PART_NONE, FR_ATTRIB_NONE } // End Code
};
//
// 数字
//
NUMETRIC numetricTable[] = {
{ "z{ro", FR_PART_NUMETRIC_NUMBER, 0 },
{ "un", FR_PART_NUMETRIC_NUMBER, 1 },
{ "une", FR_PART_NUMETRIC_NUMBER, 1 },
{ "deux", FR_PART_NUMETRIC_NUMBER, 2 },
{ "trois", FR_PART_NUMETRIC_NUMBER, 3 },
{ "quatre-vingt",FR_PART_NUMETRIC_NUMBER, 80 },
{ "quatre", FR_PART_NUMETRIC_NUMBER, 4 },
{ "cinq", FR_PART_NUMETRIC_NUMBER, 5 },
{ "six", FR_PART_NUMETRIC_NUMBER, 6 },
{ "sept", FR_PART_NUMETRIC_NUMBER, 7 },
{ "huit", FR_PART_NUMETRIC_NUMBER, 8 },
{ "neuf", FR_PART_NUMETRIC_NUMBER, 9 },
{ "dix", FR_PART_NUMETRIC_NUMBER, 10 },
{ "onze", FR_PART_NUMETRIC_NUMBER, 11 },
{ "douze", FR_PART_NUMETRIC_NUMBER, 12 },
{ "treize", FR_PART_NUMETRIC_NUMBER, 13 },
{ "quatorze", FR_PART_NUMETRIC_NUMBER, 14 },
{ "quinze", FR_PART_NUMETRIC_NUMBER, 15 },
{ "seize", FR_PART_NUMETRIC_NUMBER, 16 },
{ "vingt", FR_PART_NUMETRIC_NUMBER, 20 },
{ "trente", FR_PART_NUMETRIC_NUMBER, 30 },
{ "quatrente", FR_PART_NUMETRIC_NUMBER, 40 },
{ "cinquante", FR_PART_NUMETRIC_NUMBER, 50 },
{ "soixante", FR_PART_NUMETRIC_NUMBER, 60 },
{ "cent", FR_PART_NUMETRIC_NUMBER, 100 },
{ "cents", FR_PART_NUMETRIC_NUMBER, 100 },
{ "mille", FR_PART_NUMETRIC_NUMBER, 1000 },
{ "million", FR_PART_NUMETRIC_NUMBER, 1000000 },
{ "milliard", FR_PART_NUMETRIC_NUMBER, 1000000000 },
{ "milliards", FR_PART_NUMETRIC_NUMBER, 1000000000 },
{ "z{ro", FR_PART_NUMETRIC_ORDER, 0 },
{ "premier", FR_PART_NUMETRIC_ORDER, 1 },
{ "premi}re", FR_PART_NUMETRIC_ORDER, 1 },
{ "deuxi}me", FR_PART_NUMETRIC_ORDER, 2 },
{ "second", FR_PART_NUMETRIC_ORDER, 2 },
{ "seconde", FR_PART_NUMETRIC_ORDER, 2 },
{ "troisi}me", FR_PART_NUMETRIC_ORDER, 3 },
{ "quatre-vingti}me",FR_PART_NUMETRIC_ORDER,80 },
{ "quatr}me", FR_PART_NUMETRIC_ORDER, 4 },
{ "cinqui}me", FR_PART_NUMETRIC_ORDER, 5 },
{ "sixi}me", FR_PART_NUMETRIC_ORDER, 6 },
{ "septi}me", FR_PART_NUMETRIC_ORDER, 7 },
{ "huiti}me", FR_PART_NUMETRIC_ORDER, 8 },
{ "neuvi}me", FR_PART_NUMETRIC_ORDER, 9 },
{ "dixi}me", FR_PART_NUMETRIC_ORDER, 10 },
{ "onzi}me", FR_PART_NUMETRIC_ORDER, 11 },
{ "douzi}me", FR_PART_NUMETRIC_ORDER, 12 },
{ "treizi}me", FR_PART_NUMETRIC_ORDER, 13 },
{ "quatorzi}me",FR_PART_NUMETRIC_ORDER, 14 },
{ "quinzi}me", FR_PART_NUMETRIC_ORDER, 15 },
{ "seizi}me", FR_PART_NUMETRIC_ORDER, 16 },
{ "vingti}me", FR_PART_NUMETRIC_ORDER, 20 },
{ "trenti}me", FR_PART_NUMETRIC_ORDER, 30 },
{ "quatrenti}me",FR_PART_NUMETRIC_ORDER, 40 },
{ "cinquanti}me",FR_PART_NUMETRIC_ORDER, 50 },
{ "soixanti}me",FR_PART_NUMETRIC_ORDER, 60 },
{ "centi}me", FR_PART_NUMETRIC_ORDER, 100 },
{ "cents", FR_PART_NUMETRIC_ORDER, 100 },
{ "milli}me", FR_PART_NUMETRIC_ORDER, 1000 },
{ "millioni}me",FR_PART_NUMETRIC_ORDER, 1000000 },
{ "milli}me", FR_PART_NUMETRIC_ORDER, 1000000000 },
{ "", FR_PART_NONE, -1 } // End code
};
void
ReplaceNounPrepNoun(TOKEN *p, TOKEN *prep)
{
p->prtControl = PRT_CONTROL_REPLACED;
p->scoreCombine += SCORE_NOUN_PREP_NOUN_IDEUM;
}
void
AddIdeumScore(TOKEN *p, TOKEN *prep)
{
p->scoreCombine += SCORE_NOUN_PREP_NOUN_IDEUM;
}
BOOL
HasOuvrir(TOKEN *p)
{
if(SearchToken("ouvrir", p->child))
return(TRUE);
return(FALSE);
}
// 前置詞
static JP_PREPOSITION dic_a[] = {
JP_PREPOSITION( "%1I", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL),
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "droite")
),
JP_PREPOSITION( "%1I", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL),
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "gauche")
),
JP_PREPOSITION( "%1I関して", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL),
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "{gard")
),
JP_PREPOSITION( "両手をひろげて", JP_KIND_NONE, // @ bras ouverts.
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL),
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_NONE, HasOuvrir, "bras")
),
JP_PREPOSITION( "%a1ほど", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL),
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_NONE, HasPrepositionDeInf, "point"),
ReplaceObject1
),
JP_PREPOSITION( "%s1T", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL),
CMP_TOKEN ( FR_PART_SENTENCE_PPAST)
),
JP_PREPOSITION( "%1単位で", JP_KIND_NONE,
JP_PROP_UNIT,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_UNIT, IsAttribSingle)
),
JP_PREPOSITION( "%1I", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
JP_PREPOSITION( "%1D", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE)
),
JP_PREPOSITION( "%1I", JP_KIND_NONE, // elle {crit lettre @ son ami.
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
// Verb + <a> + Noun
JP_PREPOSITION( "%1のもの", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_PERSONAL, JP_PROP_HUMAN)
),
#if 0
JP_PREPOSITION( "%1単位で", JP_KIND_NONE,
JP_PROP_UNIT,
FR_PART_VERB_ALL, JP_PROP_ALL, NULL,
FR_PART_NOUN_GENERAL, JP_PROP_UNIT, IsAttribSingle
),
#endif
JP_PREPOSITION( "%1E", JP_KIND_NONE,
(JP_PROP)(JP_PROP_PLACE | JP_PROP_HUMAN),
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_MOVE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_HUMAN)
),
JP_PREPOSITION( "%1E", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_MOVE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE | JP_PROP_THING)
),
JP_PREPOSITION( "%1D", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE)
),
JP_PREPOSITION( "%1I", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
// Noun + <a> + Verb
#if 0
JP_PREPOSITION( "タイプライタ", JP_KIND_NONE,
JP_PROP_DRINK, // machine @ {crire.
FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "machine",
FR_PART_VERB_INF, JP_PROP_NONE, NULL, "{crire",
ReplaceNounPrepNoun
),
#endif
JP_PREPOSITION( "%s1べき", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_VERB_INF, JP_PROP_ALL),
ChangeIntransitiveVerbToTransitive // devoir @ finir 終わる宿題 -> 終わらせる宿題
),
// Noun + <a> + Noun
JP_PREPOSITION( "カフェオレ", JP_KIND_NONE,
JP_PROP_DRINK, // caf{ au lait.
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "caf{"),
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "lait"),
ReplaceNounPrepNoun
),
JP_PREPOSITION( "%1N", JP_KIND_NONE,
JP_PROP_NONE,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE | JP_PROP_TIME)
),
JP_PREPOSITION( "%1入の", JP_KIND_NONE, // cafe au lait.
JP_PROP_NONE,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_DRINK | JP_PROP_FOOD),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_DRINK | JP_PROP_FOOD)
),
JP_PREPOSITION("", JP_KIND_NONE,
JP_PROP_NONE,
CMP_TOKEN ( FR_PART_PREPOSIT_JUSQUE,JP_PROP_NONE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME | JP_PROP_PLACE)
),
JP_PREPOSITION( "%1N", JP_KIND_NONE,
JP_PROP_NONE,
CMP_TOKEN ( FR_PART_NONE),
CMP_TOKEN ( FR_PART_NONE)
)
};
static JP_PREPOSITION dic_pres[] = {
JP_PREPOSITION( "%a1後", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION | JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_SENTENCE_QUE, JP_PROP_ALL)
),
JP_PREPOSITION( "%a1後", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION | JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_VERB_INF, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N後", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE)
),
JP_PREPOSITION( "%1N後", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
};
static JP_PREPOSITION dic_autourDe[] = {
JP_PREPOSITION( "%1N周り", JP_KIND_KEIYODOSHI,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE | JP_PROP_THING | JP_PROP_HUMAN)
)
};
static JP_PREPOSITION dic_avant[] = {
JP_PREPOSITION( "%a1前に", JP_KIND_NONE,
JP_PROP_CONDITION | JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_SENTENCE_QUE, JP_PROP_ALL)
),
JP_PREPOSITION( "%a1前に", JP_KIND_NONE,
JP_PROP_CONDITION | JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_PREPOSIT_DE_INF,JP_PROP_ALL)
),
JP_PREPOSITION( "%a1前に", JP_KIND_NONE, // avant huit heures 8時前に
JP_PROP_CONDITION | JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_UNIT)
),
JP_PREPOSITION( "%a1N前に", JP_KIND_NONE,
JP_PROP_CONDITION | JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
JP_PREPOSITION( "%a1N前に", JP_KIND_NONE,
JP_PROP_CONDITION | JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
)
};
BOOL
IsTokenNotHuman(TOKEN *p)
{
if(p->jpProp & JP_PROP_HUMAN) return(FALSE);
else return(TRUE);
}
static JP_PREPOSITION dic_avec[] = {
JP_PREPOSITION( "意地悪", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN( FR_PART_VERB_GENERAL),
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "m{chancet{")
),
JP_PREPOSITION( "%1D", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN( FR_PART_VERB_GENERAL, JP_PROP_NONE, NULL, "laver"),
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "savon")
),
JP_PREPOSITION( "一生懸命", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN( FR_PART_VERB_GENERAL ),
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "application")
),
JP_PREPOSITION( "%1Tいっしょ", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
// Noun + <avec> + noun
JP_PREPOSITION( "%1W着", JP_KIND_TERU,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_HUMAN),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_CLOTH, IsTokenNotHuman)
),
JP_PREPOSITION( "%1T", JP_KIND_RENTAISHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ACTION),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1Tいっしょ", JP_KIND_RENTAISHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
)
};
static JP_PREPOSITION dic_chez[] = {
JP_PREPOSITION( "%1N家に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_HUMAN)
),
JP_PREPOSITION( "%1N家の", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_HUMAN)
),
JP_PREPOSITION( "%1N家に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_MOVE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_HUMAN)
),
JP_PREPOSITION( "%1N家で", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ACTION),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_HUMAN)
),
JP_PREPOSITION( "%1N家に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_HUMAN)
),
JP_PREPOSITION( "%1N家で", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NONE, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_HUMAN)
)
};
static JP_PREPOSITION dic_comme[] = {
JP_PREPOSITION( "%a1よう", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN( FR_PART_VERB_GENERAL),
CMP_TOKEN( FR_PART_SENTENCE_ALL),
EmphasisChildSubject_GA
),
JP_PREPOSITION( "%1Nよう", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL, HasArticleDefinitOrUnique)
),
JP_PREPOSITION( "%1として", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1Nよう", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL, HasArticleDefinitOrUnique)
),
JP_PREPOSITION( "%1として", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1よう", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
};
static JP_PREPOSITION dic_contre[] = {
JP_PREPOSITION( "%1I反して", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NOUN, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN, JP_PROP_PLACE)
),
JP_PREPOSITION( "%1I反して", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_NOUN, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN, JP_PROP_ALL)
)
};
void
SubtractNumber(TOKEN *parent, TOKEN *prep)
{
TOKEN *numetric = SearchToken(FR_PART_NUMETRIC_NUMBER, prep->object1->child);
numetric->prtControl = (PRT_CONTROL)(numetric->prtControl | PRT_CONTROL_MINUS1);
}
static JP_PREPOSITION dic_dans[] = {
JP_PREPOSITION( "%1D", JP_KIND_NONE, // dans cet accident. その事故の中で -> その事故で
JP_PROP_PLACE | JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_ALL, NULL, "accident")
),
JP_PREPOSITION( "%1したら", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN( FR_PART_VERB_GENERAL, JP_PROP_NONE, IsTenseFuture),
CMP_TOKEN( FR_PART_NOUN_ALL, JP_PROP_TIME, HasNumber),
SubtractNumber
),
JP_PREPOSITION( "%1N中に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_MOVE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE)
),
JP_PREPOSITION( "%1N中に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_MOVE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N中で", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ACTION),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
// Rien n'est clair dans son histoire.
JP_PREPOSITION( "%1N中で", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_CONDITION, IsSentenceSVA),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N中に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1以内に", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
JP_PREPOSITION( "%1N中の", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N中に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NONE),
CMP_TOKEN ( FR_PART_NONE)
)
};
BOOL
CanMostAmong(TOKEN *p)
{
TOKEN *owner = IsWordOwner(p, (FR_ATTRIB)(FR_ATTRIB_TOP | FR_ATTRIB_ONE_OF));
if(IsObjectMatch(p, FR_PART_SENTENCE_ALL) // Verbでの代用は不可
&& owner
&& !SearchToken(FR_PART_PREPOSIT_DE, owner))
return(TRUE);
else
return(FALSE);
}
void
AddMostMongScore(TOKEN *p, TOKEN *prep)
{
p->scoreCombine += SCORE_MOST_AMONG;
}
JP_PREPOSITION jpprepDeInfDE[] = {
JP_PREPOSITION(
"%a1", JP_KIND_NONE,
JP_PROP_NONE,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_VERB_INF, JP_PROP_ALL)
),
};
BOOL
IsDeOwner(TOKEN *p)
{
if(IsTokenFrench(p, "voici")
|| IsTokenFrench(p, "voil@"))
return(FALSE);
return(TRUE);
}
JP_PREPOSITION dic_jpr_de[] = {
JP_PREPOSITION( "そんな風に", JP_KIND_NONE,
JP_PROP_CONDITION, // elle se conduit de la sorte.
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_ALL, NULL, "sorte")
),
JP_PREPOSITION( "%1I", JP_KIND_NONE,
JP_PROP_NONE, // 受動態の動作主 eg) Je suis aime <de> tout.
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_PASSIVE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION(
// 手段 eg) D'une main, il a ouvert la bo^te.
// 理由 eg) D'habitude, nous nous levons @ sept heures.
"%1D", JP_KIND_NONE,
JP_PROP_NONE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL, IsDeOwner),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1K", JP_KIND_NONE,
JP_PROP_PLACE, // je sorti d'un bois.
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ACTION_MOVE | JP_PROP_PLACE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE)
),
JP_PREPOSITION( "%1K", JP_KIND_NONE,
JP_PROP_PLACE, // l'h`tel se trouve {loign{ de la plage.
CMP_TOKEN ( (FR_PART)(FR_PART_ADVERB_ALL | FR_PART_ADJECTIVE_ALL), JP_PROP_PLACE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE)
),
// noun <de> number
// la R{volution de 1789.
JP_PREPOSITION( "%1年の", JP_KIND_NONE,
JP_PROP_NONE,
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_NONE),
CMP_TOKEN ( FR_PART_NUMETRIC_NUMBER,JP_PROP_NONE)
),
// noun <de> noun
JP_PREPOSITION( "警官", JP_KIND_NONE,
JP_PROP_NONE, // agent de police
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "agent"),
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "police"),
ReplaceNounPrepNoun
),
JP_PREPOSITION( "一目", JP_KIND_NONE,
JP_PROP_NONE, // une coup de oeil
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "coup"),
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "oeil"),
ReplaceNounPrepNoun
),
JP_PREPOSITION( "教室", JP_KIND_NONE,
JP_PROP_NONE, // une salle de classe
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "salle"),
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_NONE, NULL, "classe"),
ReplaceNounPrepNoun
),
JP_PREPOSITION( "%1N", JP_KIND_NONE,
JP_PROP_NONE, // la maison <de> Paul
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
)
};
static JP_PREPOSITION jpr_among[] = {
JP_PREPOSITION( // Je suis le plus serieux <de> la classe.
"%1N中で", JP_KIND_NONE,
JP_PROP_NONE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL, CanMostAmong),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
AddMostMongScore
),
};
PREPOSITION dic_among[] = {
{ "de", FR_PART_PREPOSIT_DE_AMONG, JPPREPOSIT_DIC(jpr_among) },
};
static JP_PREPOSITION dic_depuis[] = {
JP_PREPOSITION( "%1K", JP_KIND_NONE, // depuis le hier.
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_ADVERB_GENERAL, JP_PROP_TIME | JP_PROP_PLACE)
),
JP_PREPOSITION( "%1年から", JP_KIND_NONE, // depuis 1959.
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NUMETRIC_NUMBER,JP_PROP_ALL)
),
JP_PREPOSITION( "%1前から", JP_KIND_NONE, // depuis deux ans
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_UNIT)
),
JP_PREPOSITION( "%1K", JP_KIND_NONE, // depuis le matin
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
JP_PREPOSITION( "%1K", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
)
};
static JP_PREPOSITION dic_des[] = {
JP_PREPOSITION( "%a1直後に", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_SENTENCE_QUE, JP_PROP_ALL)
),
JP_PREPOSITION( "%1直後に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE)
),
JP_PREPOSITION( "%1K", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_ADVERB_GENERAL, JP_PROP_TIME)
),
JP_PREPOSITION( "%1K", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
};
static JP_PREPOSITION dic_devant[] = {
JP_PREPOSITION( "%1N前に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_MOVE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N前に", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
JP_PREPOSITION( "%1N前で", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ACTION),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N前に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N前に", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
JP_PREPOSITION( "%1N前に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_MOVE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N前で", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ACTION),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N前に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N前の", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
};
static JP_PREPOSITION dic_derriere[] = {
JP_PREPOSITION( "%1N後に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N後の", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
};
static JP_PREPOSITION dic_en[] = {
// en + gerundif
JP_PREPOSITION( "%g1", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL, IsTokenPPresentVerb)
),
JP_PREPOSITION( "%1年", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NUMETRIC_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "遅れ", JP_KIND_TA,
JP_PROP_CONDITION | JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_ALL, NULL, "retard")
),
JP_PREPOSITION( "%1D", JP_KIND_NONE, // ce b[timent a {t{ construit en b{ton. コンクリートで
JP_PROP_MATERIAL,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_MATERIAL)
),
JP_PREPOSITION( "%1I", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
JP_PREPOSITION( "%1I", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_MOVE | JP_PROP_CONDITION),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE)
),
JP_PREPOSITION( "%1D", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
// Noun + <en> + Noun
JP_PREPOSITION( "問題", JP_KIND_RENTAISHI,
JP_PROP_CONDITION,
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_ALL),
CMP_TOKEN( FR_PART_NOUN_GENERAL, JP_PROP_ALL, NULL, "question"),
AddIdeumScore
),
JP_PREPOSITION( "%1N", JP_KIND_NONE, // les jardin en automne.
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
JP_PREPOSITION( "%1I", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NONE ),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
};
static JP_PREPOSITION dic_jusque[] = {
JP_PREPOSITION( "%1まで", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_PREPOSIT_A, JP_PROP_PLACE | JP_PROP_TIME)
),
};
static JP_PREPOSITION dic_par[] = {
JP_PREPOSITION( "%1K", JP_KIND_NONE, // Entrez par ici.
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL, IsNotPassive),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE)
),
JP_PREPOSITION( "%1Iよって", JP_KIND_NONE,
JP_PROP_ACTION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1Iよる", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
)
};
static JP_PREPOSITION jpr_parce[] = {
JP_PREPOSITION( "%s1ので", JP_KIND_NONE, // SV parce que SV.
JP_PROP_CONDITION,
CMP_TOKEN( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN( FR_PART_SENTENCE_QUE, JP_PROP_ALL),
DemphasisChildSubject_GA
),
JP_PREPOSITION( "%s1ので", JP_KIND_NONE, // Parce que SV.
JP_PROP_CONDITION,
CMP_TOKEN( FR_PART_NONE, JP_PROP_NONE),
CMP_TOKEN( FR_PART_SENTENCE_QUE, JP_PROP_ALL),
DemphasisChildSubject_GA
),
};
static JP_PREPOSITION dic_pendant[] = {
JP_PREPOSITION( "%1N間", JP_KIND_NONE, // pendant tois jours.
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
JP_PREPOSITION( "%1N間", JP_KIND_NONE, // pendant des kilometres,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%a1間", JP_KIND_NONE, // pendant que elle parlait.
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_SENTENCE_QUE, JP_PROP_ALL)
),
};
static JP_PREPOSITION dic_pour[] = {
JP_PREPOSITION( "%s1ように", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_SENTENCE_QUE, JP_PROP_ALL)
),
JP_PREPOSITION( "%a1ため", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_VERB_INF, JP_PROP_ALL)
),
JP_PREPOSITION( "%1I向かって", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_GENERAL, JP_PROP_PLACE)
),
JP_PREPOSITION( "%1<にとって>", JP_KIND_NONE, // c'est plaisir pour moi.
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_CONDITION, IsSentenceSVA),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_HUMAN)
),
JP_PREPOSITION( "%1<のために>", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%s1ための", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%s1ために", JP_KIND_NONE,
JP_PROP_ACTION,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1Nために", JP_KIND_NONE,
JP_PROP_ACTION,
CMP_TOKEN ( FR_PART_NONE),
CMP_TOKEN ( FR_PART_NONE)
)
};
static JP_PREPOSITION dic_puisque[] = {
JP_PREPOSITION( "%a1ので", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_SENTENCE_ALL),
CMP_TOKEN ( FR_PART_SENTENCE_ALL)
),
};
static JP_PREPOSITION dic_quoique[] = {
JP_PREPOSITION( "%s1とはいえ", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_SENTENCE_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_SENTENCE_ALL, JP_PROP_ALL)
),
};
static JP_PREPOSITION dic_sans[] = {
JP_PREPOSITION( "%n1", JP_KIND_DA,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_SENTENCE_QUE, JP_PROP_ALL)
),
JP_PREPOSITION( "%n1ないで", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_VERB_INF, JP_PROP_ALL)
),
JP_PREPOSITION( "%1なし", JP_KIND_DA,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
)
};
static JP_PREPOSITION dic_sous[] = {
JP_PREPOSITION( "%1N下に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N下の", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
)
};
static JP_PREPOSITION dic_sur[] = {
JP_PREPOSITION( "%1N上に", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_CONDITION | JP_PROP_MOVE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N上で", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N上の", JP_KIND_NONE,
JP_PROP_PLACE,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
)
};
static JP_PREPOSITION dic_tandis[] = {
JP_PREPOSITION( "%s1が", JP_KIND_NONE, // l'un d'eux est tr}s instruit, tandis que l'autre est ignorant.
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_SENTENCE_QUE, JP_PROP_CONDITION)
),
JP_PREPOSITION( "%a1間に", JP_KIND_NONE, // Tandis qu'elle regardais la vitrine, un voleur lui a vol{ sa bicyclette.
JP_PROP_TIME,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_SENTENCE_QUE, JP_PROP_ALL)
),
};
static JP_PREPOSITION jpr_Lorsque[] = {
// C'est lorsque S + V.
JP_PREPOSITION( "%a1時", JP_KIND_DA,
JP_PROP_TIME,
CMP_TOKEN( FR_PART_NONE, JP_PROP_ALL),
CMP_TOKEN( FR_PART_SENTENCE_ALL, JP_PROP_ALL),
EmphasisChildSubject_GA
),
JP_PREPOSITION( "%a1時", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN( FR_PART_SENTENCE_ALL, JP_PROP_ALL),
EmphasisChildSubject_GA
),
};
static JP_PREPOSITION jpr_Quand[] = {
// C'est quand S + V.
JP_PREPOSITION( "%a1時", JP_KIND_DA,
JP_PROP_TIME,
CMP_TOKEN( FR_PART_NONE, JP_PROP_ALL),
CMP_TOKEN( FR_PART_SENTENCE_ALL, JP_PROP_ALL),
EmphasisChildSubject_GA
),
JP_PREPOSITION( "%a1時", JP_KIND_NONE,
JP_PROP_TIME,
CMP_TOKEN( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN( FR_PART_SENTENCE_ALL, JP_PROP_ALL),
EmphasisChildSubject_GA
),
};
static JP_PREPOSITION jpr_Si[] = {
JP_PREPOSITION( "%i1ば", JP_KIND_NONE,
JP_PROP_CONDITION,
CMP_TOKEN( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN( FR_PART_SENTENCE_ALL, JP_PROP_ALL),
EmphasisChildSubject_GA
),
};
static JP_PREPOSITION dic_vers[] = {
JP_PREPOSITION( "%1N方に", JP_KIND_NONE, // tormer les yeux vers elle.
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_MOVE),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE | JP_PROP_HUMAN | JP_PROP_THING)
),
JP_PREPOSITION( "%1頃", JP_KIND_KEIYODOSHI, // il viendra vers midi.
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_VERB_GENERAL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_TIME)
),
JP_PREPOSITION( "%1N近く", JP_KIND_KEIYODOSHI, // il s'att]t{ vers la sortie.
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_SENTENCE_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL)
),
JP_PREPOSITION( "%1N近く", JP_KIND_KEIYODOSHI,
JP_PROP_CONDITION,
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_ALL),
CMP_TOKEN ( FR_PART_NOUN_ALL, JP_PROP_PLACE)
),
};
PREPOSITION dic_DeInf[] = {
{ "de_inf", FR_PART_PREPOSIT_DE_INF, JPPREPOSIT_DIC(jpprepDeInfDE)},
};
PREPOSITION prepositionTable[] = {
{ "@", FR_PART_PREPOSIT_A, JPPREPOSIT_DIC(dic_a) },
{ "autour de", FR_PART_PREPOSIT_AUTOUR_DE, JPPREPOSIT_DIC(dic_autourDe) },
{ "autour du", FR_PART_PREPOSIT_AUTOUR_DE, JPPREPOSIT_DIC(dic_autourDe) },
{ "avant", FR_PART_PREPOSIT_AVANT, JPPREPOSIT_DIC(dic_avant) },
{ "avec", FR_PART_PREPOSIT_AVEC, JPPREPOSIT_DIC(dic_avec) },
{ "apr}s", FR_PART_PREPOSIT_APRES, JPPREPOSIT_DIC(dic_pres) },
{ "chez", FR_PART_PREPOSIT_CHEZ, JPPREPOSIT_DIC(dic_chez) },
{ "comme", FR_PART_PREPOSIT_COMME, JPPREPOSIT_DIC(dic_comme) },
{ "contre", FR_PART_PREPOSIT_CONTRE, JPPREPOSIT_DIC(dic_contre) },
{ "dans", FR_PART_PREPOSIT_DANS, JPPREPOSIT_DIC(dic_dans) },
{ "de", FR_PART_PREPOSIT_DE, JPPREPOSIT_DIC(dic_jpr_de)},
{ "depuis", FR_PART_PREPOSIT_DEPUIS, JPPREPOSIT_DIC(dic_depuis) },
{ "d}s", FR_PART_PREPOSIT_DES, JPPREPOSIT_DIC(dic_des) },
{ "devant", FR_PART_PREPOSIT_DEVANT, JPPREPOSIT_DIC(dic_devant) },
{ "derri}re",FR_PART_PREPOSIT_DERRIERE, JPPREPOSIT_DIC(dic_derriere) },
{ "en", FR_PART_PREPOSIT_EN, JPPREPOSIT_DIC(dic_en) },
{ "jusque", FR_PART_PREPOSIT_JUSQUE, JPPREPOSIT_DIC(dic_jusque) },
{ "par", FR_PART_PREPOSIT_PAR, JPPREPOSIT_DIC(dic_par) },
{ "parce", FR_PART_PREPOSIT_PARCE, JPPREPOSIT_DIC(jpr_parce) },
{ "pendant",FR_PART_PREPOSIT_PENDANT, JPPREPOSIT_DIC(dic_pendant)},
{ "pour", FR_PART_PREPOSIT_POUR, JPPREPOSIT_DIC(dic_pour) },
{ "puisque",FR_PART_PREPOSIT_PUISQUE, JPPREPOSIT_DIC(dic_puisque) },
{ "quoique",FR_PART_PREPOSIT_QUOIQUE, JPPREPOSIT_DIC(dic_quoique)},
{ "sans", FR_PART_PREPOSIT_SANS, JPPREPOSIT_DIC(dic_sans) },
{ "sous", FR_PART_PREPOSIT_SOUS, JPPREPOSIT_DIC(dic_sous) },
{ "sur", FR_PART_PREPOSIT_SUR, JPPREPOSIT_DIC(dic_sur) },
{ "tandis", FR_PART_PREPOSIT_TANDIS, JPPREPOSIT_DIC(dic_tandis) },
{ "vers", FR_PART_PREPOSIT_VERS, JPPREPOSIT_DIC(dic_vers) },
{ "lorsque",FR_PART_PREPOSIT_LORSQUE, JPPREPOSIT_DIC(jpr_Lorsque) },
// { "que", FR_PART_SENTENCE_QUE, JPCONJUNCTION_DIC(conjQue) },
{ "quand", FR_PART_PREPOSIT_QUAND, JPPREPOSIT_DIC(jpr_Quand) },
{ "si", FR_PART_PREPOSIT_SI, JPPREPOSIT_DIC(jpr_Si) },
{ "", FR_PART_NONE, NULL , 0} // End Code
};
JP_COMBINE jpCombineCar[] = {
JP_COMBINE("%s1。というのは、%s2から",
(FR_PART)(FR_PART_COMBINE | FR_PART_SENTENCE_NORMAL),
FR_PART_SENTENCE_NORMAL,JP_PROP_NONE,
FR_PART_SENTENCE_ALL, JP_PROP_NONE
),
};
//
// FR_PART_SENTENCEのぶら下っている'plus'/'moins'を探す
//
TOKEN
*SearchPlus(TOKEN *p, char *key)
{
TOKEN *plus = SearchToken(key, p->child);
if(plus) return(plus);
if(IsObjectMatch(p, FR_PART_SENTENCE_ALL)
&& p->object2
&& (p->object2->frPart & FR_PART_VERB))
plus = SearchToken(key, p->object2->child);
return(plus);
}
BOOL
HasPlus(TOKEN *p)
{
if(SearchPlus(p, "plus"))
return(TRUE);
return(FALSE);
}
BOOL
HasMoins(TOKEN *p)
{
if(SearchPlus(p, "moins"))
return(TRUE);
return(FALSE);
}
void
MakePlusPlus(TOKEN *p)
{
TOKEN *plus;
plus = SearchPlus(p->object1, "plus");
if(plus) plus->prtControl = PRT_CONTROL_DISABLE;
plus = SearchPlus(p->object2, "plus");
if(plus) plus->prtControl = PRT_CONTROL_DISABLE;
// 彼の行動を考え<た>ほど -> 彼の行動を考え<る>ほど
p->object1->frTense = FR_TENSE_PRESENT;
p->object2->frTense = FR_TENSE_PRESENT;
}
void
MakePlusMoins(TOKEN *p)
{
TOKEN *plus;
plus = SearchPlus(p->object1, "plus");
if(plus) plus->prtControl = PRT_CONTROL_DISABLE;
plus = SearchPlus(p->object2, "moins");
if(plus) plus->prtControl = PRT_CONTROL_DISABLE;
// 彼の行動を考え<た>ほど -> 彼の行動を考え<る>ほど
p->object1->frTense = FR_TENSE_PRESENT;
p->object2->frTense = FR_TENSE_PRESENT;
}
BOOL
HasBien(TOKEN *p)
{
TOKEN *q = SearchToken("bien", p->child);
if(q) {
q->prtControl = PRT_CONTROL_DISABLE;
return(TRUE);
}
return(FALSE);
}
BOOL
HasOrderVerb(TOKEN *p)
{
TOKEN *q;
if(p->object1
&& HasOrderVerb(p->object1)) return(TRUE);
if(p->object2
&& HasOrderVerb(p->object2)) return(TRUE);
for(q = p; q; q = q->next) {
if(p->frTense & FR_TENSE_ORDER)
return(TRUE);
}
return(FALSE);
}
BOOL
HasLevel3Subject(TOKEN *v)
{
if(v->subject
&& (v->subject->frAttrib & FR_ATTRIB_LEVEL3))
return(TRUE);
return(FALSE);
}
BOOL
CanLevel3Verb(TOKEN *v)
{
if(v
&& (v->frAttrib & FR_ATTRIB_LEVEL3))
return(TRUE);
return(FALSE);
}
void
MakeObject1Order(TOKEN *p)
{
if(p
&& p->object1
&& (p->object1->frPart & FR_PART_VERB)) {
p->object1->frTense = FR_TENSE_ORDER;
}
}
void
MakeObject2Order(TOKEN *p)
{
if(p
&& p->object2
&& (p->object2->frPart & FR_PART_VERB)) {
p->object2->frTense = FR_TENSE_ORDER;
}
}
void
AddObject2FrTenseOrder(TOKEN *p)
{
if(p
&& p->object2
&& (p->object2->frPart & FR_PART_VERB)) {
p->object2->frTense = (FR_TENSE)(p->object2->frTense | FR_TENSE_ORDER);
}
}
JP_COMBINE jpCombineComma[] = {
JP_COMBINE("%s1、%t2", JP_KIND_NONE,
FR_PART_COMBINE_VERB,
FR_PART_NONE, JP_PROP_NONE, NULL, // 文頭にきた場合
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE, NULL),
// Plus nous avons des souffrances, plus nous savons consoler les autres.
JP_COMBINE("%s1ほど、%t2", JP_KIND_NONE,
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE, HasPlus,
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE, HasPlus,
MakePlusPlus),
// Plus je r{fl{chis @ sa conduite, moins je comprends cet homme.
JP_COMBINE("%s1ほど、%n2なくな", JP_KIND_GODAN_RA,
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE, HasPlus,
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE, HasMoins,
MakePlusMoins),
JP_COMBINE("たしかに%s1が、%t2", JP_KIND_NONE,
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_QUE, JP_PROP_NONE, HasBien,
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE, NULL,
// <que> S+V事 -> S+V
ReplaceObject1),
JP_COMBINE("%z1、%t2",
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_PPAST, JP_PROP_NONE,
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE),
#if 0
// 過去分詞構文 eg) Ils s'avancent, lui demandant de danser.
JP_COMBINE("%z2、%st1",
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_NORMAL),
FR_PART_SENTENCE_ALL, JP_PROP_NONE,
FR_PART_SENTENCE_PPRESENT, JP_PROP_NONE),
JP_COMBINE("%z1、%t2",
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_NORMAL),
FR_PART_SENTENCE_PPRESENT, JP_PROP_NONE,
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE),
#endif
// Il arrive, juge la situation.
// 彼は来て、状況を判断する < 彼は来て、状況を判断しろ
JP_COMBINE("%z1、%t2", JP_KIND_NONE,
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_NORMAL),
FR_PART_SENTENCE_ALL, JP_PROP_NONE, HasLevel3Subject,
FR_PART_SENTENCE_ALL, JP_PROP_NONE, CanLevel3Verb,
CancelTenseOrder),
// Montez<,> grimpez, pers{v{rez.
JP_COMBINE("%z1、%t2", JP_KIND_NONE,
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_ORDER),
FR_PART_SENTENCE_ORDER, JP_PROP_NONE, NULL,
FR_PART_SENTENCE_ALL, JP_PROP_NONE, HasOrderVerb),
// Attenz un instant, je viens.
JP_COMBINE("%s1、%t2", JP_KIND_NONE,
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_ORDER, JP_PROP_NONE, NULL,
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE, NULL,
MakeObject1Order),
JP_COMBINE("%z1、%t2", JP_KIND_NONE,
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE, NULL,
FR_PART_SENTENCE_NORMAL, JP_PROP_NONE, IsNotParticiple),
JP_COMBINE("%z1、%t2", JP_KIND_NONE,
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_ALL, JP_PROP_NONE, IsNotParticiple,
FR_PART_SENTENCE_NO_SUBJECT,JP_PROP_NONE, IsNotParticiple),
JP_COMBINE("%z1、%t2", JP_KIND_NONE,
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_ALL, JP_PROP_NONE, NULL,
FR_PART_SENTENCE_ALL, JP_PROP_NONE, IsNotParticiple),
// Oui, j'ai un fr}re.
JP_COMBINE("%s1、%t2",
FR_PART_COMBINE_VERB,
FR_PART_INDEPENDENCE_ALL, JP_PROP_NONE,
FR_PART_SENTENCE_ALL, JP_PROP_NONE),
JP_COMBINE("%z1、%t2", FR_PART_NONE,
FR_PART_NOUN_ALL, JP_PROP_NONE,
FR_PART_NOUN_ALL, JP_PROP_NONE),
JP_COMBINE("%z1、%t2", FR_PART_NONE,
FR_PART_ADVERB_ALL, JP_PROP_NONE,
FR_PART_ADVERB_ALL, JP_PROP_NONE),
JP_COMBINE("%z1、%t2", FR_PART_NONE,
FR_PART_ADJECTIVE_ALL, JP_PROP_NONE,
FR_PART_ADJECTIVE_ALL, JP_PROP_NONE),
JP_COMBINE("%z1、%t2", FR_PART_NONE,
FR_PART_PREPOSIT_ALL, JP_PROP_NONE,
FR_PART_PREPOSIT_ALL, JP_PROP_NONE)
};
JP_COMBINE jpCombineCoron[] = {
JP_COMBINE("%st1。%t2",
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_ALL, JP_PROP_NONE,
FR_PART_SENTENCE_ALL, JP_PROP_NONE),
};
JP_COMBINE jpCombineSemicoron[] = {
JP_COMBINE("%st1。%t2",
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_ALL, JP_PROP_NONE,
FR_PART_SENTENCE_ALL, JP_PROP_NONE),
};
JP_COMBINE jpCombineDonc[] = {
JP_COMBINE("%s1。だから、%t2",
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_NORMAL,JP_PROP_NONE,
FR_PART_SENTENCE_ALL, JP_PROP_NONE
),
JP_COMBINE("%s1。だから、%t2",
FR_PART_COMBINE_VERB,
(FR_PART)~1, JP_PROP_NONE,
(FR_PART)~1, JP_PROP_NONE
)
};
BOOL
HasAttribNous(TOKEN *p)
{
if((p->frAttrib & FR_ATTRIB_LEVEL1)
&& (p->frAttrib & FR_ATTRIB_PLURAL))
return(TRUE);
return(FALSE);
}
BOOL
HasAttribVous(TOKEN *p)
{
if((p->frAttrib & FR_ATTRIB_LEVEL2)
&& (p->frAttrib & FR_ATTRIB_PLURAL))
return(TRUE);
return(FALSE);
}
JP_COMBINE jpCombineEt[] = {
// Il arrive et juge la situation.
// 彼は来て、状況を判断する < 彼は来て、状況を判断しろ
JP_COMBINE("%z1、%t2", JP_KIND_NONE,
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_NORMAL),
FR_PART_SENTENCE_ALL, JP_PROP_NONE, HasLevel3Subject,
FR_PART_SENTENCE_ALL, JP_PROP_NONE, CanLevel3Verb,
CancelTenseOrder),
// Montez et grimpez(FR_TENSE_ORDER).
JP_COMBINE("%z1、%t2", JP_KIND_NONE,
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_ORDER),
FR_PART_SENTENCE_ORDER, JP_PROP_NONE, NULL,
FR_PART_SENTENCE_ALL, JP_PROP_NONE, HasOrderVerb
),
// Montez et grimpez(FR_TENSE_PRESENT).
// Nous, Vousと命令形が同一の場合が多い。
JP_COMBINE("%z1、%t2", JP_KIND_NONE,
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_ORDER),
FR_PART_SENTENCE_ORDER, JP_PROP_NONE, HasAttribVous,
FR_PART_SENTENCE_NO_SUBJECT,JP_PROP_NONE, HasAttribVous,
MakeObject2Order
),
JP_COMBINE("%z1、%t2", JP_KIND_NONE,
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_ORDER),
FR_PART_SENTENCE_ORDER, JP_PROP_NONE, HasAttribNous,
FR_PART_SENTENCE_NO_SUBJECT,JP_PROP_NONE, HasAttribNous,
MakeObject2Order
),
#if 0
JP_COMBINE("%z1、%o2", JP_KIND_NONE,
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_ORDER),
FR_PART_SENTENCE_ORIGIN, JP_PROP_NONE, NULL,
FR_PART_SENTENCE_ORDER, JP_PROP_NONE, CanVerbOrder
),
#endif
// 原型動詞同志の命令形
// eg) Voir Naples et mourir.
JP_COMBINE("%z1、%t2", JP_KIND_NONE,
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_ORDER),
FR_PART_SENTENCE_ORIGIN, JP_PROP_NONE, IsTenseOrigin,
FR_PART_SENTENCE_NO_SUBJECT,JP_PROP_NONE, IsTenseOrigin,
AddObject2FrTenseOrder
),
JP_COMBINE("%z1、%t2",
FR_PART_COMBINE_VERB,
FR_PART_SENTENCE_ALL, JP_PROP_NONE,
FR_PART_SENTENCE_ALL, JP_PROP_NONE
),
JP_COMBINE("%z1と%t2",
(FR_PART)(FR_PART_COMBINE_NOUN | FR_PART_NOUN_ALL),
FR_PART_NOUN_ALL, JP_PROP_NONE,
FR_PART_NOUN_ALL, JP_PROP_NONE
),
JP_COMBINE("%z1、%t2",
FR_PART_COMBINE_ADJECTIVE,
(FR_PART)(FR_PART_ADVERB_ALL | FR_PART_ADJECTIVE_ALL), JP_PROP_NONE,
(FR_PART)(FR_PART_ADVERB_ALL | FR_PART_ADJECTIVE_ALL), JP_PROP_NONE
),
JP_COMBINE("%z1、%t2",
FR_PART_COMBINE_PREPOSIT,
FR_PART_PREPOSIT_ALL, JP_PROP_NONE,
FR_PART_PREPOSIT_ALL, JP_PROP_NONE
),
// which == NULLの時のため同じ候補を並べる
JP_COMBINE("%z1と%t2",
FR_PART_NONE,
FR_PART_NOUN_ALL, JP_PROP_NONE,
FR_PART_NOUN_ALL, JP_PROP_NONE
)
};
JP_COMBINE jpCombineMais[] = {
// Ne restez pas enferm{ si longtemps, mais S+V
// -> そんなに長い時間閉じ込めれらたままで<いなく>、
// -> そんなに長い時間閉じ込めれらたままで<いないで>、
JP_COMBINE("%a1D、%s2", JP_KIND_NONE,
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_ORDER),
FR_PART_SENTENCE_ORDER, JP_PROP_NEGATIVE, IsJpKind_KAMIICHI,
FR_PART_SENTENCE_ALL, JP_PROP_NONE, NULL
),
// Aime la verite, mais pardonne a l'erreur.
JP_COMBINE("%s1、しかし、%s2", JP_KIND_NONE,
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_ORDER),
FR_PART_SENTENCE_ORDER, JP_PROP_NONE, NULL,
FR_PART_SENTENCE_ALL, JP_PROP_NONE, NULL
),
JP_COMBINE("%s1が、%s2",
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_NORMAL),
FR_PART_SENTENCE_ALL, JP_PROP_NONE,
FR_PART_SENTENCE_ALL, JP_PROP_NONE
),
// 文頭の場合
// Mais, o| sont des neiges d'antant?
JP_COMBINE("しかし、%s2",
FR_PART_COMBINE_VERB,
FR_PART_NONE, JP_PROP_NONE,
FR_PART_SENTENCE_ALL, JP_PROP_NONE
),
};
JP_COMBINE jpCombineNi[] = {
JP_COMBINE("%c1%s2", FR_PART_COMBINE_NOUN,
FR_PART_NOUN_VERB, JP_PROP_NONE,
FR_PART_NOUN_VERB, JP_PROP_NONE,
JP_EMPHASIS_MO
),
JP_COMBINE("%c1も%s2", FR_PART_COMBINE_NOUN,
FR_PART_NOUN_ALL, JP_PROP_NONE,
FR_PART_NOUN_ALL, JP_PROP_NONE,
JP_EMPHASIS_MO
),
JP_COMBINE("%1%t2", FR_PART_COMBINE_ADJECTIVE,
(FR_PART)(FR_PART_ADVERB_ALL | FR_PART_ADJECTIVE_ALL), JP_PROP_NONE,
(FR_PART)(FR_PART_ADVERB_ALL | FR_PART_ADJECTIVE_ALL), JP_PROP_NONE,
JP_EMPHASIS_NONE
),
JP_COMBINE("%1%2", FR_PART_COMBINE_PREPOSIT,
FR_PART_PREPOSIT_ALL, JP_PROP_NONE,
FR_PART_PREPOSIT_ALL, JP_PROP_NONE,
JP_EMPHASIS_NONE
),
// which == NULLの時のため同じ候補を並べる
JP_COMBINE("%z1も%s2", FR_PART_NONE,
FR_PART_NOUN_ALL, JP_PROP_NONE,
FR_PART_NOUN_ALL, JP_PROP_NONE,
JP_EMPHASIS_MO
)
};
JP_COMBINE jpCombineOu[] = {
JP_COMBINE("%s1か%s2",
(FR_PART)(FR_PART_COMBINE_VERB | FR_PART_SENTENCE_ALL),
FR_PART_SENTENCE_ALL, JP_PROP_NONE,
FR_PART_SENTENCE_ALL, JP_PROP_NONE
),
JP_COMBINE("%s1か%s2", FR_PART_COMBINE_NOUN,
FR_PART_NOUN_ALL, JP_PROP_NONE,
FR_PART_NOUN_ALL, JP_PROP_NONE
),
JP_COMBINE("%s1か%t2", FR_PART_COMBINE_ADJECTIVE,
(FR_PART)(FR_PART_ADVERB_ALL | FR_PART_ADJECTIVE_ALL),JP_PROP_NONE,
(FR_PART)(FR_PART_ADVERB_ALL | FR_PART_ADJECTIVE_ALL),JP_PROP_NONE
),
JP_COMBINE("%s1か%s2", FR_PART_COMBINE_PREPOSIT,
FR_PART_PREPOSIT_ALL, JP_PROP_NONE,
FR_PART_PREPOSIT_ALL, JP_PROP_NONE
),
// which == NULLの時のため同じ候補を並べる
JP_COMBINE("%1か%2", FR_PART_NONE,
(FR_PART)~1, JP_PROP_NONE,
(FR_PART)~1, JP_PROP_NONE
),
};
COMBINE combineTable[] = {
{ ",", TRUE, FR_PART_COMBINE_GENERAL, JPCOMBINE_DIC(jpCombineComma) },
{ ":", TRUE, FR_PART_COMBINE_VERB, JPCOMBINE_DIC(jpCombineCoron) },
{ ";", TRUE, FR_PART_COMBINE_VERB, JPCOMBINE_DIC(jpCombineSemicoron) },
{ "car", FALSE, FR_PART_COMBINE_VERB, JPCOMBINE_DIC(jpCombineCar) },
{ "donc", FALSE, FR_PART_COMBINE_VERB, JPCOMBINE_DIC(jpCombineDonc) },
{ "et", FALSE, FR_PART_COMBINE_GENERAL, JPCOMBINE_DIC(jpCombineEt) },
{ "mais", FALSE, FR_PART_COMBINE_GENERAL, JPCOMBINE_DIC(jpCombineMais) },
{ "ni", FALSE, FR_PART_COMBINE_GENERAL, JPCOMBINE_DIC(jpCombineNi) },
{ "ou", FALSE, FR_PART_COMBINE_GENERAL, JPCOMBINE_DIC(jpCombineOu) },
{ "", FALSE, FR_PART_NONE, NULL } // End Code
};
// 疑問副詞
FR_PATTERN pat_Combien1[] = {
// Combien d'argent avez-vous?
FR_PATTERN( CMP_TOKEN( FR_PART_INTERROGATIVE_UNCLEAR ), 3, FR_PART_NUMETRIC_COMBIEN),
FR_PATTERN( CMP_TOKEN( FR_PART_PREPOSIT_DE ), 4),
FR_PATTERN( CMP_TOKEN( FR_PART_NOUN_SUBJECT), 1),
FR_PATTERN( CMP_TOKEN( FR_PART_VERB_UNCLEAR, JP_PROP_NONE, IsQuestionLast), 2),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
static JP_ADVERB jap_Combien1[] = {
JP_ADVERB( "", JP_KIND_NONE, JP_PROP_NONE, JP_PROP_ALL)
};
ADVERB jpCombien1 = {
"combien", JPADVERB_DIC(jap_Combien1), NULL, NULL,
};
// 疑問副詞
FR_PATTERN pat_Combien2[] = {
// Combien avez-vous d'argen?
FR_PATTERN( CMP_TOKEN( FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_NUMETRIC_COMBIEN),
FR_PATTERN( CMP_TOKEN( FR_PART_NOUN_SUBJECT), 1 ),
FR_PATTERN( CMP_TOKEN( FR_PART_VERB_UNCLEAR), 2 ),
FR_PATTERN( CMP_TOKEN( FR_PART_PREPOSIT_DE, JP_PROP_ALL, IsQuestionLast), 4),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
static JP_ADVERB jap_Combien2[] = {
JP_ADVERB( "", JP_KIND_NONE, JP_PROP_NONE, JP_PROP_ALL)
};
ADVERB jpCombien2 = {
"combien", JPADVERB_DIC(jap_Combien2), NULL, NULL
};
// 疑問副詞
FR_PATTERN pat_Combien3[] = {
// Le Combien sommes-nous?
FR_PATTERN( CMP_TOKEN( FR_PART_ARTICLE_DEFINIT, JP_PROP_NONE, IsTokenSingle), 3),
FR_PATTERN( CMP_TOKEN( FR_PART_INTERROGATIVE_UNCLEAR), 4, FR_PART_NUMETRIC_COMBIEN),
FR_PATTERN( CMP_TOKEN( FR_PART_NOUN_SUBJECT), 1, FR_PART_NONE),
FR_PATTERN( CMP_TOKEN( FR_PART_VERB_UNCLEAR, JP_PROP_NONE, IsQuestionLast), 2),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
// 疑問副詞
FR_PATTERN pat_Combien4[] = {
// Combien avez-vous?
FR_PATTERN( CMP_TOKEN( FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_ADVERB, JP_PROP_TIME | JP_PROP_VOLUME),
FR_PATTERN( CMP_TOKEN( FR_PART_NOUN_SUBJECT), 1),
FR_PATTERN( CMP_TOKEN( FR_PART_VERB_UNCLEAR, JP_PROP_NONE, IsQuestionLast), 2),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
static JP_ADVERB jap_Combien4[] = {
JP_ADVERB( "どのくらい", JP_KIND_NONE, JP_PROP_NONE, JP_PROP_ALL)
};
ADVERB jpCombien4 = {
"combien", JPADVERB_DIC(jap_Combien4), NULL, NULL
};
// 感嘆副詞
FR_PATTERN pat_Combien5[] = {
// Combien de d{fauts il a!
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_NUMETRIC_EXCLAMINATION),
FR_PATTERN( CMP_TOKEN(FR_PART_PREPOSIT_DE), 4),
FR_PATTERN( CMP_TOKEN((FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_GENERAL)), 1),
FR_PATTERN( CMP_TOKEN( FR_PART_VERB_UNCLEAR, JP_PROP_NONE, IsExclaminationLast), 2),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
JP_PROADVERB proadvCombine[] = {
JP_PROADVERB("", JP_KIND_NONE, JP_PROP_VOLUME, JP_PROP_ALL)
};
PROADVERB jpCombien5 = {
"combien",
FR_PART_NUMETRIC_EXCLAMINATION,
FR_ATTRIB_NONE,
JPPROADVERB_DIC(proadvCombine),
};
// 感嘆副詞
FR_PATTERN pat_Combien6[] = {
// Combien de temps avons-nous perdu!
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_NUMETRIC_EXCLAMINATION, JP_PROP_NONE),
FR_PATTERN( CMP_TOKEN(FR_PART_SPECIAL_DE), 0),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 4),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR), 2),
FR_PATTERN( CMP_TOKEN((FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_GENERAL), JP_PROP_ALL, IsExclaminationLast), 1),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
// 感嘆副詞
FR_PATTERN pat_Combien7[] = {
// Combien <que> de d{fauts il a!
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_NUMETRIC_EXCLAMINATION),
FR_PATTERN( CMP_TOKEN(FR_PART_SPECIAL_QUE), 0),
FR_PATTERN( CMP_TOKEN(FR_PART_PREPOSIT_DE), 4),
FR_PATTERN( CMP_TOKEN((FR_PART)(FR_PART_NOUN_SUBJECT | FR_PART_NOUN_GENERAL)), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR, JP_PROP_NONE, IsExclaminationLast), 2),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
static FR_QUESTION dic_Combien[] = {
{ &jpCombien1, 0, pat_Combien1 },
{ &jpCombien2, 0, pat_Combien2 },
{ &jpCombien2, -1, pat_Combien3 },
{ &jpCombien4, 0, pat_Combien4 },
{ &jpCombien5, 0, pat_Combien5 },
{ &jpCombien5, 0, pat_Combien6 },
{ &jpCombien5, 0, pat_Combien7 },
};
// 疑問副詞
FR_PATTERN pat_Comment1[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_ADVERB),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_ALL), 2),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
BOOL
IsQuestionSentence(TOKEN *p)
{
if(IsObjectMatch(p, FR_PART_SENTENCE_ALL)
&& !(p->frPart & FR_PART_COMBINE) // quand S+V, 疑問文? -> quand (S+V, 疑問文)? にならないように
&& p->object2
&&(p->object2->jpProp & JP_PROP_QUESTION))
return(TRUE);
return(FALSE);
}
FR_PATTERN pat_Comment2[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 2, FR_PART_INTERROGATIVE_ADVERB),
FR_PATTERN( CMP_TOKEN(FR_PART_SENTENCE_ALL, JP_PROP_NONE, IsQuestionSentence), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE))
};
static JP_ADVERB jap_Comment1[] = {
JP_ADVERB("どのように", JP_KIND_NONE, JP_PROP_NONE, JP_PROP_ALL)
};
ADVERB jpComment1 = {
"comment", JPADVERB_DIC(jap_Comment1), NULL, NULL
};
static FR_QUESTION dic_Comment[] = {
{ &jpComment1, 0, pat_Comment1 },
{ &jpComment1, 0, pat_Comment2 }
};
static JP_ADVERB jap_Pourquoi1[] = {
JP_ADVERB("なぜ", JP_KIND_NONE, JP_PROP_NONE, JP_PROP_ALL)
};
ADVERB jpPourquoi1 = {
"pourquoi", JPADVERB_DIC(jap_Pourquoi1), NULL, NULL
};
static FR_QUESTION dic_Pourquoi[] = {
{ &jpPourquoi1, 0, pat_Comment1 },
{ &jpPourquoi1, 0, pat_Comment2 }
};
FR_PATTERN pat_Quand1[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_ADVERB, JP_PROP_TIME),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_ALL, JP_PROP_QUESTION), 2),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
FR_PATTERN pat_Quand2[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 2, FR_PART_INTERROGATIVE_ADVERB, JP_PROP_TIME),
FR_PATTERN( CMP_TOKEN(FR_PART_SENTENCE_ALL, JP_PROP_NONE, IsQuestionSentence), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
static JP_ADVERB jap_Quand[] = {
JP_ADVERB("いつ", JP_KIND_NONE, JP_PROP_TIME, JP_PROP_ALL)
};
ADVERB jpQuand = {
"quand", JPADVERB_DIC(jap_Quand), NULL, NULL
};
static FR_QUESTION dic_Quand[] = {
{ &jpQuand, 0, pat_Quand1 }, // Quand arrive-il?
{ &jpQuand, 0, pat_Quand2 } // Quand est-ce que il arrive?
};
static FR_PATTERN pat_Quel1[] = {
// Quelle fleure est-il?
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_ADJECTIVE, JP_PROP_CONDITION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 4),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR, JP_PROP_QUESTION, IsQuestionLast), 2),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
static FR_PATTERN pat_Quel1_1[] = {
// Quuelle fleure est-ce que il est?
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_ADJECTIVE, JP_PROP_CONDITION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 4),
FR_PATTERN( CMP_TOKEN(FR_PART_SPECIAL_ESTCEQUE), 0),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR, JP_PROP_NONE, IsLastToken), 2, FR_PART_NONE, JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
static FR_PATTERN pat_Quel1_2[] = {
// Quelle heureu est-il @ votre montre?
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_ADJECTIVE, JP_PROP_CONDITION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 4),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR, JP_PROP_QUESTION), 2),
FR_PATTERN( CMP_TOKEN( FR_PART_NONE) )
};
static JP_ADJECTIVE jap_Quel1[] =
{
JP_ADJECTIVE( "何",
JP_KIND_NONE,
JP_PROP_CONDITION,
JP_PROP_UNIT,
FR_PART_NONE,
JP_PROP_NONE,
FR_LOCATION_FRONT
),
JP_ADJECTIVE( "どんな",
JP_KIND_NONE,
JP_PROP_CONDITION,
JP_PROP_ALL,
FR_PART_NONE,
JP_PROP_NONE,
FR_LOCATION_FRONT
)
};
ADJECTIVE jpQuel1 = {
"quel",
FR_CHANGE_NONE,
FR_ATTRIB_NONE,
jap_Quel1,
sizeof(jap_Quel1)/sizeof(JP_ADJECTIVE),
NULL,
NULL
};
FR_PATTERN pat_Quel2[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_ADJECTIVE, JP_PROP_CONDITION),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR), 2, FR_PART_NONE, JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL, JP_PROP_ALL, IsQuestionLast), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE) )
};
static JP_ADJECTIVE jap_Quel2[] =
{
JP_ADJECTIVE( "どんな",
JP_KIND_DESU,
JP_PROP_CONDITION,
JP_PROP_ALL,
FR_PART_NONE,
JP_PROP_NONE,
FR_LOCATION_FRONT
)
};
ADJECTIVE jpQuel2 = {
"quel",
FR_CHANGE_NONE,
FR_ATTRIB_NONE,
jap_Quel2,
sizeof(jap_Quel2)/sizeof(JP_ADJECTIVE),
NULL,
NULL
};
FR_PATTERN pat_Quel3[] = {
// Quel homme!
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 1, FR_PART_ADJECTIVE_EXCLAMINATION, JP_PROP_CONDITION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL, JP_PROP_ALL, IsExclaminationLast), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE))
};
FR_PATTERN pat_Quel3_1[] = {
// Quel haut homme!
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 1,
FR_PART_ADJECTIVE_EXCLAMINATION, JP_PROP_CONDITION),
FR_PATTERN( CMP_TOKEN(FR_PART_ADJECTIVE_GENERAL_B), 3),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL, JP_PROP_ALL, IsExclaminationLast), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE))
};
FR_PATTERN pat_Quel3_2[] = {
// Quelle chim}re est-ce que l'homme!
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_ADJECTIVE_EXCLAMINATION, JP_PROP_CONDITION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 4),
FR_PATTERN( CMP_TOKEN(FR_PART_SPECIAL_ESTCEQUE), 2, FR_PART_SPECIAL_EST),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL, JP_PROP_ALL, IsExclaminationLast), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE))
};
FR_PATTERN pat_Quel3_3[] = {
// Quel noun, quel noun!
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 1, FR_PART_ADJECTIVE_EXCLAMINATION, JP_PROP_CONDITION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_COMBINE_NOUN), 3),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL, JP_PROP_ALL, HasExclaminationAdjective), 4),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE))
};
static JP_PROADJECTIVE jap_Quel3[] =
{
JP_PROADJECTIVE( FR_PART_ADJECTIVE_EXCLAMINATION,
"なんという", JP_KIND_NONE,
JP_PROP_CONDITION)
};
PROADJECTIVE jpQuel3 = {
"quel",
FR_ATTRIB_IL,
FR_CHANGE_NONE,
JPPROADJ_DIC(jap_Quel3),
};
FR_PATTERN pat_Quel4[] = { // Quel beau visage elle a!
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_ADJECTIVE_EXCLAMINATION, JP_PROP_CONDITION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 4),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR, JP_PROP_NONE, IsExclaminationLast), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE))
};
FR_QUESTION dic_Quel[] = {
{ &jpQuel1, 0, pat_Quel1 }, // Quelle fleur est-ce?
{ &jpQuel1, 0, pat_Quel1_1 }, // Quelle fleure est-ce que ce est?
{ &jpQuel1, 0, pat_Quel1_2 }, // Quelle heureu est-il @ votre montre?
{ &jpQuel2, 0, pat_Quel2 }, // Quelle est cette fleur?
{ &jpQuel3, 0, pat_Quel3 }, // Quel homme!
{ &jpQuel3, 0, pat_Quel3_1 }, // Quel magnifique paysage! (形容詞を名詞の後ろに回す)
{ &jpQuel3, 0, pat_Quel3_2 }, // Quelle chim}re est-ce que l'homme!
{ &jpQuel3, 0, pat_Quel3_3 }, // Quel noun, quel noun!
{ &jpQuel3, 0, pat_Quel4 }, // Quel beau visage elle a!
};
FR_PATTERN pat_QuiQui[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 1, FR_PART_INTERROGATIVE_SUBJECT, JP_PROP_HUMAN | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_ALL, JP_PROP_NONE, IsQuestion), 2, FR_PART_NONE, JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
JP_PRONOUN jppro_Qui[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"誰", JP_EMPHASIS_NONE, FR_PART_NOUN_SUBJECT,
FR_ATTRIB_IL_ELLE, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
PRONOUN jpQui =
{
"qui",
FR_ATTRIB_IL_ELLE, FR_SHORT_NONE,
JPPRONOUN_DIC(jppro_Qui)
};
FR_PATTERN pat_QueQui[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_SUBJECT), 1, FR_PART_NONE, JP_PROP_THING | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_ALL), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE))
};
FR_PATTERN pat_QuiQue1[] = { // Qui aimez-vous?
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_PRONOUN, JP_PROP_HUMAN),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR, JP_PROP_NONE, IsQuestion), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
FR_PATTERN pat_QuiQue2[] = { // Qui est-ce que vous aimez?
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_PRONOUN, JP_PROP_HUMAN),
FR_PATTERN( CMP_TOKEN(FR_PART_SPECIAL_ESTCEQUE), 0),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR), 2, FR_PART_NONE, JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
FR_PATTERN pat_Qui3[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_PRONOUN, JP_PROP_HUMAN | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR,JP_PROP_NONE, IsTenseOrigin), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
static FR_QUESTION dic_Qui[] = {
{ &jpQui, 0, pat_QuiQui }, // Qui chante?
{ &jpQui, 0, pat_QuiQue1 }, // Qui aimez-vous?
{ &jpQui, 0, pat_QuiQue2 }, // Qui est-ce que vous aime?
{ &jpQui, 0, pat_Qui3 }, // On ne sait pas @ qui s'adresser.
};
FR_PATTERN pat_QueQue1[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_PRONOUN, JP_PROP_THING | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR, JP_PROP_NONE, IsQuestion), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
FR_PATTERN pat_QueQue1_2[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_PRONOUN, JP_PROP_THING | JP_PROP_MATERIAL | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR), 2, FR_PART_NONE, JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_GENERAL, JP_PROP_ALL, IsQuestionLast), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
JP_PRONOUN dic_QueQue1[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"何", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_BOTH,
FR_ATTRIB_NONE, JP_PROP_THING, JP_UNIT_TSU
)
};
FR_PATTERN pat_QueQue2[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_PRONOUN, JP_PROP_THING | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_SPECIAL_ESTCEQUE), 0),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR), 2, FR_PART_NONE, JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
PRONOUN jpQueQue1 = {
"que que",
FR_ATTRIB_NONE, FR_SHORT_NONE,
JPPRONOUN_DIC(dic_QueQue1)
};
FR_PATTERN pat_QueQue3[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_PRONOUN, JP_PROP_THING | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR,JP_PROP_NONE, IsTenseOrigin), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
FR_PATTERN pat_QueQue4[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 1, FR_PART_ADVERB_EXCLAMINATION, JP_PROP_THING | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_SENTENCE_ALL, JP_PROP_ALL, IsExclaminationLast), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
JP_PROADVERB proadvQueQue[] = {
JP_PROADVERB("何と", JP_KIND_NONE, JP_PROP_NONE, JP_PROP_ALL)
};
PROADVERB jpQueQue3 = {
"que que",
FR_PART_ADVERB_EXCLAMINATION,
FR_ATTRIB_NONE,
JPPROADVERB_DIC(proadvQueQue)
};
// Que de fois j'ai lu ce recueil de po}mes!
FR_PATTERN pat_QueDeFois[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 1, FR_PART_ADVERB_EXCLAMINATION, JP_PROP_THING | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_PREPOSIT_DE, "fois"), 0),
FR_PATTERN( CMP_TOKEN(FR_PART_SENTENCE_ALL, JP_PROP_ALL, IsExclaminationLast), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
JP_PROADVERB proadvQueDeFois[] = {
JP_PROADVERB("何度", JP_KIND_NONE, JP_PROP_NONE, JP_PROP_ALL)
};
PROADVERB jpQueDeFois = {
"que de fois",
FR_PART_ADVERB_EXCLAMINATION,
FR_ATTRIB_NONE,
JPPROADVERB_DIC(proadvQueDeFois)
};
static FR_QUESTION dic_Que[] = {
{ &jpQueQue1, 0, pat_QueQue1 }, // Que aimez-vous?
{ &jpQueQue1, 0, pat_QueQue2 }, // Qu'est-ce qu'il cherche?
{ &jpQueQue1, 0, pat_QueQue3 }, // Je ne sais que faire.
{ &jpQueQue3, 0, pat_QueQue4 }, // Que elle est belle!
{ &jpQueDeFois, 0, pat_QueDeFois } // Que de fois j'ai lu ce recueil de po}mes!
};
static FR_QUESTION dic_QUI_QUI[] = {
{ &jpQui, 0, pat_QuiQui } // Qui est-ce qui chante?
};
static FR_QUESTION dic_QUE_QUI[] = {
{ &jpQui, 0, pat_QueQui } // Qu'est-ce qui brule?
};
static FR_QUESTION dic_QUOI[] = {
{ &jpQueQue1, 0, pat_QueQue1 }, // A quoi pensez-vous?
{ &jpQueQue1, 0, pat_QueQue1_2 }, // En quoi est le toit? (<- En quoi est<-il> le toit?)
{ &jpQueQue1, 0, pat_QueQue2 } // A quoi est-ce que vous pensez?
};
FR_PATTERN pat_Lequel1[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 1, FR_PART_INTERROGATIVE_SUBJECT, JP_PROP_HUMAN),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_ALL), 2, FR_PART_NONE, JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
JP_PRONOUN dic_Lequel1[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_ALL,
NULL,
"どれ", JP_EMPHASIS_NONE, FR_PART_NOUN_SUBJECT,
FR_ATTRIB_NONE, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
PRONOUN jpLequel1 = {
"lequel",
FR_ATTRIB_NONE, FR_SHORT_NONE,
JPPRONOUN_DIC(dic_Lequel1)
};
static FR_PATTERN pat_Lequel2[] = {
// Lequelles des filles aimez-vous?
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_ADJECTIVE, JP_PROP_ALL | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_PREPOSIT_DE), 4),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_SUBJECT), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE))
};
static JP_ADJECTIVE jap_lequel2[] =
{
JP_ADJECTIVE(
"どの",
JP_KIND_NONE,
JP_PROP_ALL,
JP_PROP_ALL,
FR_PART_NONE,
JP_PROP_NONE,
FR_LOCATION_FRONT
)
};
ADJECTIVE jpLequel2 = {
"lequel",
FR_CHANGE_NONE,
FR_ATTRIB_NONE,
jap_lequel2,
sizeof(jap_lequel2)/sizeof(JP_ADJECTIVE),
NULL,
NULL
};
static FR_PATTERN pat_Lequel3[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_PRONOUN, JP_PROP_ALL | JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
JP_PRONOUN dic_Lequel3[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"どれ", JP_EMPHASIS_NONE, FR_PART_NOUN_OBJECT_BOTH,
FR_ATTRIB_NONE, JP_PROP_ALL, JP_UNIT_NONE
)
};
PRONOUN jpLequel3 =
{
"lequel",
FR_ATTRIB_NONE, FR_SHORT_NONE,
JPPRONOUN_DIC(dic_Lequel3)
};
// 疑問代名詞
static FR_QUESTION dic_Lequel[] = {
{ &jpLequel1, 0, pat_Lequel1 }, // Lequel est bell?
{ &jpLequel2, 0, pat_Lequel2 }, // Lequelles des filles aimez-vous?
{ &jpLequel3, 0, pat_Lequel3 } // Lequel aimez-vous?
};
// 疑問副詞
FR_PATTERN pat_Ou1[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_ADVERB, JP_PROP_PLACE),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_ALL), 2),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
FR_PATTERN pat_Ou2[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 2, FR_PART_INTERROGATIVE_ADVERB, JP_PROP_PLACE),
FR_PATTERN( CMP_TOKEN(FR_PART_SENTENCE_ALL, JP_PROP_NONE, IsQuestionSentence), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
FR_PATTERN pat_Ou3[] = {
FR_PATTERN( CMP_TOKEN(FR_PART_INTERROGATIVE_UNCLEAR), 3, FR_PART_INTERROGATIVE_ADVERB, JP_PROP_PLACE),
FR_PATTERN( CMP_TOKEN(FR_PART_VERB_UNCLEAR), 2, FR_PART_NONE, JP_PROP_QUESTION),
FR_PATTERN( CMP_TOKEN(FR_PART_NOUN_ALL, JP_PROP_ALL, IsLastToken), 1),
FR_PATTERN( CMP_TOKEN(FR_PART_NONE ))
};
static JP_ADVERB jap_Ou1[] = {
JP_ADVERB( "どこに",JP_KIND_NONE, JP_PROP_PLACE, JP_PROP_MOVE | JP_PROP_CONDITION),
JP_ADVERB( "どこ", JP_KIND_DA, JP_PROP_PLACE, JP_PROP_ALL ),
JP_ADVERB( "どこ", JP_KIND_RENTAISHI, JP_PROP_PLACE, JP_PROP_ALL )
};
ADVERB adverbOu1 = { "o|", JPADVERB_DIC(jap_Ou1), NULL, NULL,};
static FR_QUESTION dic_Ou[] = {
{ &adverbOu1, 0, pat_Ou1 }, // O| habitez-vous?
{ &adverbOu1, 0, pat_Ou2 }, // O| est-ce que vous habitez?
{ &adverbOu1, 0, pat_Ou3 }, // O| est votre livre? (ハイフンなし)
};
//
// 疑問代名詞(副詞)
//
QUESTION questionTable[] = {
{ "combien", FR_ATTRIB_NONE, (FR_PART)(FR_PART_NUMETRIC | FR_PART_OBJECT),
"どのくらい", JP_KIND_NONE, JPQUESTION_DIC(dic_Combien)
},
{ "comment", FR_ATTRIB_NONE, FR_PART_ADVERB,
"どうやって", JP_KIND_NONE, JPQUESTION_DIC(dic_Comment)
},
{ "lequel", FR_ATTRIB_IL, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Lequel)
},
{ "laquelle", FR_ATTRIB_ELLE, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Lequel)
},
{ "lesquels", FR_ATTRIB_ILS, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Lequel)
},
{ "lesquelles", FR_ATTRIB_ELLES, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Lequel)
},
{ "auquel", FR_ATTRIB_IL, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Lequel)
},
{ "auxquels", FR_ATTRIB_ILS, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Lequel)
},
{ "auxquelles", FR_ATTRIB_ELLES, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Lequel)
},
{ "duquel", FR_ATTRIB_IL, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Lequel)
},
{ "duxquels", FR_ATTRIB_ILS, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Lequel)
},
{ "duxquelles", FR_ATTRIB_ELLES, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Lequel)
},
{ "o|", FR_ATTRIB_NONE, (FR_PART)(FR_PART_ADVERB | FR_PART_OBJECT),
"どこ", JP_KIND_NONE, JPQUESTION_DIC(dic_Ou)
},
{ "pourquoi", FR_ATTRIB_NONE, FR_PART_ADVERB,
"なぜ", JP_KIND_NONE, JPQUESTION_DIC(dic_Pourquoi)
},
{ "quand", FR_ATTRIB_NONE, FR_PART_ADVERB,
"いつ", JP_KIND_NONE, JPQUESTION_DIC(dic_Quand)
},
{ "quel", FR_ATTRIB_IL, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Quel)
},
{ "quelle", FR_ATTRIB_ELLE, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Quel)
},
{ "quels", FR_ATTRIB_ILS, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Quel)
},
{ "quelles", FR_ATTRIB_ELLES, (FR_PART)(FR_PART_ADJECTIVE | FR_PART_OBJECT),
"どの", JP_KIND_NONE, JPQUESTION_DIC(dic_Quel)
},
{ "qui est-ce qui",(FR_ATTRIB)(FR_ATTRIB_IL | FR_ATTRIB_ILS), (FR_PART)(FR_PART_NOUN | FR_PART_OBJECT),
"誰", JP_KIND_NONE, JPQUESTION_DIC(dic_QUI_QUI)
},
/* { "qu\'est-ce que",(FR_ATTRIB)(FR_ATTRIB_IL | FR_ATTRIB_ILS), FR_PART_NOUN,
"何", JP_KIND_NONE, JPQUESTION_DIC(dic_QUE_QUE)
},
*/ { "qu\'est-ce qui",(FR_ATTRIB)(FR_ATTRIB_IL | FR_ATTRIB_ILS), FR_PART_NOUN,
"何", JP_KIND_NONE, JPQUESTION_DIC(dic_QUE_QUI)
},
{ "que", (FR_ATTRIB)(FR_ATTRIB_IL | FR_ATTRIB_ILS), (FR_PART)(FR_PART_NOUN | FR_PART_OBJECT),
"何", JP_KIND_NONE, JPQUESTION_DIC(dic_Que)
},
{ "qui", (FR_ATTRIB)(FR_ATTRIB_IL | FR_ATTRIB_ILS), (FR_PART)(FR_PART_NOUN | FR_PART_OBJECT),
"誰", JP_KIND_NONE, JPQUESTION_DIC(dic_Qui)
},
{ "quoi", (FR_ATTRIB)(FR_ATTRIB_IL | FR_ATTRIB_ILS), (FR_PART)(FR_PART_NOUN | FR_PART_OBJECT),
"何", JP_KIND_NONE, JPQUESTION_DIC(dic_QUOI)
},
{ "", FR_ATTRIB_NONE, FR_PART_NONE,
"", JP_KIND_NONE, NULL, 0
}
};
//
// Pass1では品詞が分からない言葉
//
SPECIALWORD specialWordTable[] =
{
{ "aussi",
TRUE,
FR_PART_SPECIAL_AUSSI, // 副詞(~も)、副詞(同等比較級)、接続詞
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "ce",
TRUE,
FR_PART_SPECIAL_CE, // 主語代名詞、指示形容詞
(FR_ATTRIB)(FR_ATTRIB_BOTH_SEX | FR_ATTRIB_SINGLE),
FR_SHORT_NONE
},
{ "comme",
TRUE,
FR_PART_SPECIAL_COMME,
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "des",
TRUE,
FR_PART_SPECIAL_DES,// 不定冠詞、de + les
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "de",
TRUE,
FR_PART_SPECIAL_DE, // 不定冠詞、部分冠詞、前置詞、形容詞をともなう冠詞、否定冠詞、不定詞の頭
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "en",
TRUE,
FR_PART_SPECIAL_EN, // 前置詞、中性代名詞、en + ジェロンディフ
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "est-ce que",
TRUE,
FR_PART_SPECIAL_ESTCEQUE, // 疑問文かな?
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "fois",
TRUE,
FR_PART_SPECIAL_FOIS, // 名詞、数字+fois+比較級
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "gr[ce",
TRUE,
FR_PART_SPECIAL_GRACE,
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "l@",
FALSE,
FR_PART_SPECIAL_LA, // 後置指示形容詞、副詞
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "leur",
FALSE,
FR_PART_SPECIAL_LEUR, // 所有形容詞、間接目的代名詞
(FR_ATTRIB)(FR_ATTRIB_PLURAL | FR_ATTRIB_LEVEL3),
FR_SHORT_NONE
},
{ "m]mes",
TRUE,
FR_PART_SPECIAL_MEME,
FR_ATTRIB_PLURAL,
FR_SHORT_NONE
},
{ "m]me",
TRUE,
FR_PART_SPECIAL_MEME,
FR_ATTRIB_SINGLE,
FR_SHORT_NONE
},
{ "n'importe",
TRUE,
FR_PART_SPECIAL_NIMPORTE,
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "peu",
TRUE,
FR_PART_SPECIAL_PEU,
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
// s'il venait, のようにエリジオンするので、"se/si"の前に置くこと
{ "s'",
TRUE,
FR_PART_SPECIAL_S,
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "si",
TRUE,
FR_PART_SPECIAL_SI, // 接続詞, 疑問詞(~どうか)
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "se",
TRUE,
FR_PART_SPECIAL_SE, // "se" 再帰代名詞 (複数の動詞間を盥回しにされないように
(FR_ATTRIB)(FR_ATTRIB_IL_ELLE | FR_ATTRIB_PLURAL),
FR_SHORT_NONE // 付属する動詞の決まったものがFR_PART_NOUN_RECURSIVEになる
},
{ "quand",
TRUE,
FR_PART_SPECIAL_QUAND, // 疑問代名詞, 接続詞
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "que",
TRUE,
FR_PART_SPECIAL_QUE, // 疑問代名詞, 関係代名詞、ne que ~ (~のみ)
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "qui",
TRUE,
FR_PART_SPECIAL_QUI, // 疑問代名詞, 関係代名詞
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "quoi",
TRUE,
FR_PART_SPECIAL_QUOI, // 疑問代名詞, 関係代名詞
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "o|",
TRUE,
FR_PART_SPECIAL_OU, // 疑問副詞, 関係副詞
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "lequel",
TRUE,
FR_PART_SPECIAL_LEQUEL, // 疑問副詞, 関係副詞
(FR_ATTRIB)(FR_ATTRIB_MALE | FR_ATTRIB_SINGLE),
FR_SHORT_NONE
},
{ "laquelle",
TRUE,
FR_PART_SPECIAL_LEQUEL,// 疑問副詞, 関係副詞
(FR_ATTRIB)(FR_ATTRIB_FEMALE | FR_ATTRIB_SINGLE),
FR_SHORT_NONE
},
{ "lesquels",
TRUE,
FR_PART_SPECIAL_LEQUEL, // 疑問副詞, 関係副詞
(FR_ATTRIB)(FR_ATTRIB_MALE | FR_ATTRIB_PLURAL),
FR_SHORT_NONE
},
{ "lesquelles",
TRUE,
FR_PART_SPECIAL_LEQUEL, // 疑問副詞, 関係副詞
(FR_ATTRIB)(FR_ATTRIB_FEMALE | FR_ATTRIB_PLURAL),
FR_SHORT_NONE
},
{ "auquel",
TRUE,
FR_PART_SPECIAL_LEQUEL, // 疑問副詞, 関係副詞
(FR_ATTRIB)(FR_ATTRIB_MALE | FR_ATTRIB_SINGLE),
FR_SHORT_A
},
{ "auxquels",
TRUE,
FR_PART_SPECIAL_LEQUEL, // 疑問副詞, 関係副詞
(FR_ATTRIB)(FR_ATTRIB_MALE | FR_ATTRIB_PLURAL),
FR_SHORT_A
},
{ "auxquelles",
TRUE,
FR_PART_SPECIAL_LEQUEL, // 疑問副詞, 関係副詞
(FR_ATTRIB)(FR_ATTRIB_FEMALE | FR_ATTRIB_PLURAL),
FR_SHORT_A
},
{ "duquel",
TRUE,
FR_PART_SPECIAL_LEQUEL, // 疑問副詞, 関係副詞
(FR_ATTRIB)(FR_ATTRIB_MALE | FR_ATTRIB_SINGLE),
FR_SHORT_DE
},
{ "desquels",
TRUE,
FR_PART_SPECIAL_LEQUEL, // 疑問副詞, 関係副詞
(FR_ATTRIB)(FR_ATTRIB_MALE | FR_ATTRIB_PLURAL),
FR_SHORT_DE
},
{ "desquelles",
TRUE,
FR_PART_SPECIAL_LEQUEL, // 疑問副詞, 関係副詞
(FR_ATTRIB)(FR_ATTRIB_FEMALE | FR_ATTRIB_PLURAL),
FR_SHORT_DE
},
{ "plus",
TRUE,
FR_PART_SPECIAL_PLUS, // 形容詞、副詞
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "moins",
TRUE,
FR_PART_SPECIAL_MOINS, // 形容詞、副詞
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "ni",
FALSE, // n'~ -> <ne>
FR_PART_SPECIAL_NI, // je n'ai <ni> p}re <ni> m}re.
FR_ATTRIB_NONE, // 無視 接続詞
FR_SHORT_NONE
},
{ ",",
TRUE,
FR_PART_SPECIAL_COMMA, // 形容詞、副詞
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "toutes",
TRUE,
FR_PART_SPECIAL_TOUT,
FR_ATTRIB_ELLES,
FR_SHORT_NONE
},
{ "toute",
TRUE,
FR_PART_SPECIAL_TOUT,
FR_ATTRIB_ELLE,
FR_SHORT_NONE
},
{ "tout",
TRUE,
FR_PART_SPECIAL_TOUT,
FR_ATTRIB_IL,
FR_SHORT_NONE
},
{ "tous",
TRUE,
FR_PART_SPECIAL_TOUT,
FR_ATTRIB_IL,
FR_SHORT_NONE
},
{ "seulement",
TRUE,
FR_PART_SPECIAL_SEULEMENT,
FR_ATTRIB_NONE,
FR_SHORT_NONE
},
{ "",
FALSE,
FR_PART_NONE,
FR_ATTRIB_NONE,
FR_SHORT_NONE
}
};
INTERJECTION interjectionTable[] = {
{ "oui", "はい", FR_PART_INDEPENDENCE_INTERJECTION, },
{ "si", "いいえ", FR_PART_INDEPENDENCE_INTERJECTION, },
{ "non", "いいえ", FR_PART_INDEPENDENCE_INTERJECTION, },
{ "h{las", "あぁ", FR_PART_INDEPENDENCE_INTERJECTION, },
{ "", "", FR_PART_NONE} // end code
};
// 比較級の単語
COMPARE_WORD compareTable[] = {
{ "meilleures", "bon",
FR_PART_ADJECTIVE_GENERAL,
(FR_ATTRIB)(FR_ATTRIB_PLUS | FR_ATTRIB_ELLES),
FR_LOCATION_FRONT,
},
{ "meilleure", "bon",
FR_PART_ADJECTIVE_GENERAL,
(FR_ATTRIB)(FR_ATTRIB_PLUS | FR_ATTRIB_ELLE),
FR_LOCATION_FRONT,
},
{ "meilleurs", "bon",
FR_PART_ADJECTIVE_GENERAL,
(FR_ATTRIB)(FR_ATTRIB_PLUS | FR_ATTRIB_ILS),
FR_LOCATION_FRONT,
},
{ "meilleur", "bon",
FR_PART_ADJECTIVE_GENERAL,
(FR_ATTRIB)(FR_ATTRIB_PLUS | FR_ATTRIB_IL),
},
{ "pire", "mauvais", // FR_ATTRIB_PLUSは、単語の置き換え
FR_PART_ADJECTIVE_GENERAL,
FR_ATTRIB_PLUS,
FR_LOCATION_FRONT,
},
{ "moindre", "petit",
FR_PART_ADJECTIVE_GENERAL,
FR_ATTRIB_PLUS,
FR_LOCATION_FRONT,
},
{ "mieux", "bien",
FR_PART_ADVERB_MIEUX,
FR_ATTRIB_PLUS,
FR_LOCATION_FRONT,
},
{ "pis", "mal",
FR_PART_ADVERB_GENERAL,
FR_ATTRIB_PLUS,
FR_LOCATION_FRONT,
},
{ "autant", "beaucoup",
FR_PART_ADVERB_GENERAL,
FR_ATTRIB_AUSSI,
FR_LOCATION_FRONT,
},
{ "", "", // end code
FR_PART_NONE,
FR_ATTRIB_NONE,
FR_LOCATION_NONE
}
};